Я преподаю обучение C++, и я пытался создать программу, которая берет строку символов и удаляет пробелы с помощью указателей. Все работает, но я хочу, чтобы он удалил количество удаленных мест. Код выглядит корректно на моих усталых глазах. У меня есть число пробелов, определяемое как пробелы. Я сам объясняю, что я пытаюсь сделать. Любая помощь будет принята с благодарностью! :)Не могу понять, почему количество пробелов не учитывается
#include <iostream>
using namespace std;
int stripWhite(char *str);
int main()
{
char str[100];
cin.getline(str, 99); // save room for the null character.
stripWhite(str);
cout << str << endl;
cout << "I removed " << stripWhite(str) << " from this sentence.";
return 0;
}
int stripWhite(char *str)
{
char *p;
int spaces = 0;
for (p = str; *str != '\0'; ++str)
{
if (*str != 0x20)
{
*p++ = *str;
}
else
{
spaces++;
}
}
*p = '\0';
return spaces;
}