Count spaces, punctuation, digits, and letters
#include <iostream>
#include <cctype>
using namespace std;
int main() {
const char *str = "This is a test. 1 2 3 4 5";
int letters = 0, spaces = 0, punct = 0, digits = 0;
cout << str << endl;
while(*str) {
if(isalpha(*str))
++letters;
else if(isspace(*str))
++spaces;
else if(ispunct(*str))
++punct;
else if(isdigit(*str))
++digits;
++str;
}
cout << "Letters: " << letters << endl;
cout << "Digits: " << digits << endl;
cout << "Spaces: " << spaces << endl;
cout << "Punctuation: " << punct << endl;
return 0;
}
Using strncpy() and string terminator
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char stringOne[80];
char stringTwo[10];
char stringThree[80];
stringOne[0]='\0';
stringTwo[0]='\0';
stringThree[0]='\0';
cout << "String One: " << stringOne << endl;
cout << "String Two: " << stringTwo << endl;
cout << "String Three: " << stringThree << endl;
cout << "Enter a long string: ";
cin.getline(stringOne,80);
strcpy(stringThree,stringOne);
cout << "\nString One: " << stringOne << endl;
cout << "String Two: " << stringTwo << endl;
cout << "String Three: " << stringThree << endl;
strncpy(stringTwo,stringOne,9);
cout << "\nString One: " << stringOne << endl;
cout << "String Two: " << stringTwo << endl;
cout << "String Three: " << stringThree << endl;
stringTwo[9]='\0';
cout << "\nString One: " << stringOne << endl;
cout << "String Two: " << stringTwo << endl;
cout << "String Three: " << stringThree << endl;
cout << "\nDone." << endl;
return 0;
}