C++ Characters, Strings, and Associated FunctionsCompare single characters directly. e.g.
char inChar; cin >> inChar; if ( inChar =='a') ...If you want to test for upper or lower case, it is better to use one of the cctype functions. i.e. Instead of if (inChar >= 'a' && inChar <= 'z') it is better to say if (islower(inChar)) The following table shows some of the cctype functions that you can use.
| Function | Integer Value Returned | 
|---|---|
| isalpha(ch) | A non-zero value if ch is a letter, otherwise: 0 | 
| isalnum(ch) | A non-zero value if ch is an alpha-numeric, otherwise: 0 | 
| isdigit(ch) | A non-zero value if ch is a digit 0-9, otherwise: 0 | 
| islower(ch) | A non-zero value if ch is a lower-case, otherwise: 0 | 
| isupper(ch) | A non-zero value if ch is a upper-case, otherwise: 0 | 
| ispace(ch) | A non-zero value if ch is a space, otherwise: 0 | 
| toupper(ch) | If ch is a lower-case character it is converted to upper-case. Otherwise ch remains as it was before the call. | 
| tolower(ch) | If ch is an upper-case character it is converted to lower-case. Otherwise ch remains as it was before the call. | 
Here is a little program you can experiment with to explore these functions.
/*  Filename:   ~ftp/pub/class/cplusplus/Csyntax-files/Cpgms/cctypes.cpp
    Purpose:    To explore the cctypes functions for characters
*/
#include <iostream>
using namespace std;
int main()
{
    char ch;
    cout << endl << "This program experiments with cctype functions."
         << endl;
    cout << "First function to be examined is: isalpha(ch)" << endl;
    ch = 'A';
    cout << "isalpha(ch) for 'A' = " << isalpha(ch) << endl;
    ch = '$';
    cout << "isalpha(ch) for '$' = " << isalpha(ch) << endl;
    cout << "Enter a value to check or a '+' to move on: ";
    cin >> ch;
    cout << endl;
    while ( ch != '+')
         {
         cout << "isalpha(ch) for " << ch << " = " << isalpha(ch) << endl;
         cout << "Enter a value to check or a '+' to move on: ";
         cin >> ch;
         cout << endl;
         }
} // end main
| To declare a C string: | char MyString[8]; | 
| To declare and initialize a C string: | char MyString[8] "a word";
    Or just: char MyString[] "a word";  | 
| To assign a value to a C string: | strcpy(MyString, "new word"); | 
| To get the length of a C string: | cout << strlen(MyString); | 
| To convert a C string into its numeric integer equivalent:
    ( aSCII characters to integer value)  | 
   cout << atoi(MyString); | 
| To convert a C string into its numeric float equivalent:
    ( aSCII characters to float value)  | 
   cout << atof(MyString); | 
#include <string>.
Here are a few functions.
| To declare an STL string: | string MyString; | 
| To declare and initialize an STL string: | string MyString("a word"); | 
| To assign a value to an STL string: | MyString = "a word";
    Note: You could not do a simple assignment like this with character arrays. You had to use the strcpy function.  | 
| To assign a different value to an STL string: | MyString = "a much longer string";
    Note: With character arrays you were restricted by the size of the array.  | 
| To join two or more STL strings: | string MyString1 = "first word";
    string MyString2 = "first word"; string MyLongString; MyLongString = MyString1 + MyString2; Note: You couldn't do this with character arrays.  | 
| To look at individual characters in an STL string:
    (Using square brackets for subscripts like an array.)  | 
   cout << "First letter is: " << MyString[0]; | 
| To find the length of an STL string: | cout << "Length is " << MyString.length(); | 
| To insert a string into another STL string: | MyString.insert(starting_position, other_string); | 
| To erase part of an STL string: | MyString.erase(starting_position, number_of_characters); | 
| To replace part of an STL string: | MyString.replace(starting_position, number_of_characters_to_replace, replacement_string); | 
| To convert an STL string into a C string:
    You need to convert for some existing functions. See next two lines of this table.  | 
   MyString.c_str(); | 
To use an STL string in the atoi() function:  | 
   atoi(MyString.c_str()); | 
To use an STL string in the atof() function:  | 
   atof(MyString.c_str()); | 
To use an STL string in the file open() function:  | 
   file_identifier.open(MyString.c_str()); | 
This page has been accessed  
   times.
Last modified: Friday, 21-Aug-2020 15:28:13 CST
Copyright 2002 Department of Computer Science, University of Regina.