Я пытаюсь подсчитать количество символов в строке, предоставленной пользователем. Я знаю, что могу использовать string::length()
и string::size()
, но когда пространство встречается, счетчик останавливается. Например, скажем, пользователь вводит «Bob Builder», счет должен быть 10, но мой код будет отображаться 3. Также я пытаюсь сделать это без использования массива символов. Какие-либо предложения? Объяснение также очень поможет.Как я могу получить количество символов из строки ввода?
int main()
{
string Name;
cin>>Name;
cout << name(Name);
return 0;
}
int name(string a)
{
int numChar;
/*for (int i=0; a[i] != '\0';i++)
{
if (!isspace(a[i]))
numChar++;
}*/
numChar=a.length();
return numChar;
}
Этот код не компилируется. 'std :: cin.getline()' принимает только символ 'char *'. Вы имели в виду 'std :: getline (std :: cin, line)' как другой (правильный) ответ. – Blastfurnace
@Blastfurnace Да, вы правы. – marom
Вы задумывались над исправлением явно неправильного кода в своем ответе? Возможно, как вежливость людям, которые голосовали, не утруждая себя чтением. – Blastfurnace