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

-1 c++ control-structure while-loop

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

当前,当程序提示用户输入其名称时,例如。亨利·詹姆斯(Henry James),仅垂直打印“亨利”(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;
Run Code Online (Sandbox Code Playgroud)

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

Kla*_*aus 6

您明确地写道,循环应在' '空格字符处停止。一切都按预期:-)

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

while ( myName [ i ] != '\0' )
Run Code Online (Sandbox Code Playgroud)