c++的getline一个关于缓冲区的一个小问题
程序员文章站
2022-05-01 22:52:32
...
c++的getline一个关于缓冲区的一个小问题
C++在使用getline的时候,总是有各种各样的未解之谜,很多都是由于缓冲区没有清除而造成的,所以我们只要及时的清空缓冲区就能符合预期的使用getline。方法就是使用fflush(stdin)这条语句。
getline的使用方法有很多,这里只举一个。
我们想要用getline来输入一个指定大小的字符串
#include <iostream>
using namespace std;
int main()
{
int num;
cin >> num;
fflush(stdin); //这一行代码最关键!!!!!!!!!!
char temp[num];
cin.getline(temp,num);
cout << temp;
}
输出结果示例:
欢迎交流,欢迎评论。