我在这个 while 循环中错过了什么?

What have I missed in this while-loop?

我正在尝试编写一个简单的程序,将名称读取为 C 风格的字符串。 然后垂直打印名称,每行一个字符。

目前,当程序提示用户输入他们的姓名时,例如。亨利詹姆斯,只有 'Henry' 是垂直打印的。它在名称之间的中断处停止打印。

char myName[ 64 ] = "";
cout << "Enter your name: ";
cin.get( myName, 64 );

int i = 0;
while ( myName [ i ] != ' ' )
    {
        cout << myName[ i ] << endl;
        i++;
    }



getch();
return 0;

我试过将 cin.ignore() 放在 cin.get() 之前,但这最终会破坏程序。我在 while 循环中遗漏了什么?

你明确地写了你的循环应该在 ' ' space 字符处停止。一切如预期:-)

如果要打印到 C 样式字符串的末尾,请检查终止字符是否为零。

while ( myName [ i ] != '[=10=]' )