Accessing Characters In Strings
![Accessing Characters In Strings](http://www.java2s.com/Code/CppImages/AccessingCharactersInStrings.PNG)
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string text;
cout << "Counts words. Enter a text and terminate with a period and return:\n";
getline( cin, text, '.'); // Reads a text up to the first '.'
int i, // Index
numberOfWhiteSpace = 0, // Number of white spaces
numberOfWords = 0; // Number of words
bool fSpace = true; // Flag for white space
for( i = 0; i < text.length(); ++i)
{
if( isspace( text[i]) ) // white space?
{
++numberOfWhiteSpace;
fSpace = true;
}
else if( fSpace) // At the beginning of a word?
{
++numberOfWords;
fSpace = false;
}
}
cout << "\nYour text contains (without periods)"
<< "\ncharacters: " << text.length()
<< "\nwords: " << numberOfWords
<< "\nwhite spaces: " << numberOfWhiteSpace
<< endl;
return 0;
}
Related examples in the same category
1. | String type class | | ![String type class](http://www.java2s.com/Code/CppImages/Stringtypeclass.PNG) |
2. | A filter to remove white-space characters at the ends of lines. | | ![A filter to remove white-space characters at the ends of lines.](http://www.java2s.com/Code/CppImages/Afiltertoremovewhitespacecharactersattheendsoflines.PNG) |
3. | A string demonstration: assignment, concatenate, compare | | ![A string demonstration: assignment, concatenate, compare](http://www.java2s.com/Code/CppImages/Astringdemonstrationassignmentconcatenatecompare.PNG) |
4. | Demonstrate insert(), erase(), and replace(). | | ![Demonstrate insert(), erase(), and replace().](http://www.java2s.com/Code/CppImages/Demonstrateinserteraseandreplace.PNG) |
5. | Use string: find, string::npos | | ![Use string: find, string::npos](http://www.java2s.com/Code/CppImages/Usestringfindstringnpos.PNG) |
6. | Strings: size, iterator, count, begin and end | | ![Strings: size, iterator, count, begin and end](http://www.java2s.com/Code/CppImages/Stringssizeiteratorcountbeginandend.PNG) |
7. | string: find( ) and rfind( ) | | ![string: find( ) and rfind( )](http://www.java2s.com/Code/CppImages/stringfindandrfind.PNG) |
8. | Print a name in two different formats | | ![Print a name in two different formats](http://www.java2s.com/Code/CppImages/Printanameintwodifferentformats.PNG) |
9. | Several string operations: substr | | ![Several string operations: substr](http://www.java2s.com/Code/CppImages/Severalstringoperationssubstr.PNG) |
10. | String Char Indexing | | ![String Char Indexing](http://www.java2s.com/Code/CppImages/StringCharIndexing.PNG) |
11. | String Find and replace | | ![String Find and replace](http://www.java2s.com/Code/CppImages/StringFindandreplace.PNG) |
12. | String Size | | ![String Size](http://www.java2s.com/Code/CppImages/StringSize.PNG) |
13. | String SizeOf | | ![String SizeOf](http://www.java2s.com/Code/CppImages/StringSizeOf.PNG) |
14. | A short string demonstration | | ![A short string demonstration](http://www.java2s.com/Code/CppImages/Ashortstringdemonstration.PNG) |
15. | String insert(), erase(), and replace() | | ![String insert(), erase(), and replace()](http://www.java2s.com/Code/CppImages/Stringinserteraseandreplace.PNG) |
16. | string variable instead of a character array | | ![string variable instead of a character array](http://www.java2s.com/Code/CppImages/stringvariableinsteadofacharacterarray.PNG) |
17. | Inputting Multiple Words into a String | | ![Inputting Multiple Words into a String](http://www.java2s.com/Code/CppImages/InputtingMultipleWordsintoaString.PNG) |
18. | Adding Strings | | ![Adding Strings](http://www.java2s.com/Code/CppImages/AddingStrings.PNG) |
19. | Read string from console | | ![Read string from console](http://www.java2s.com/Code/CppImages/Readstringfromconsole.PNG) |
20. | Insert, search, and replace in strings. | | ![Insert, search, and replace in strings.](http://www.java2s.com/Code/CppImages/Insertsearchandreplaceinstrings.PNG) |