C++:使用cin.getline()

Moh*_*bil 1 c++ arrays string cin

现在我已经知道cin.getline这样做了.

cin.getline(dest string, number of charecters to put into string);

所以假设这个程序.

char s1[8]="Hellopo";
cin.getline(s1,5);
cout<<s1<<endl;
Run Code Online (Sandbox Code Playgroud)

这是通过输入:hhhhhhhhhhhhh

这是程序输出: hhhh

我在这个计划中有两个问题.

1-)我将程序设置为从用户输入的内容中获取5个字符并存储在s1中.当我运行该程序时,它只打印出4个字符.

2-)我还希望程序在打印出用户的内容之后继续打印出s1的其余部分.但它之后停了下来hhhh

请向我解释我的两个问题.谢谢

jua*_*nza 7

在这种情况下,std :: cin :: getline将存储四个字符加上一个空终止(总共五个字符).并将std::cout在它找到的第一个空终止符处停止打印.