I want to pass a char string as a pointer reference and then count the words in this string ... but somehow I never get to count the right number of words... here my code:
#include <iostream>
#include <stdio.h>
using namespace std;
int charCount(const char* pPtr);
int main() {
char wort[] = "Ein Neger mit Gazelle zagt im Regen nie ";
int count(0);
count = charCount(wort);
cout <<count <<endl;
}
int charCount(const char* pPtr) {
int wordCount(0);
while(*pPtr != '\0') {
//Falls EOF Erreicht und vorheriger Buchstabe war kein Blank oder newline dann Wortzaehler erhoehen
if ((*pPtr == '\0') && (*(pPtr-1) !=' ' || *(pPtr-1) != '\n')) {
wordCount++;
}
//Falls Blank oder Newline, und vorheriger Buchstabe war kein Blank oder Newline, Wortzaehler erhoehen
if (((*(pPtr+1) == ' ' || *(pPtr+1) == '\n')) && ((*(pPtr) != ' ' || *(pPtr) != '\n' ))) {
wordCount++;
}
pPtr++;
}
return wordCount;
}