今天用了C++中的getline函数,很是苦恼,在Visual C++6.0和visual stdio 2010运行的结果不一样。
具体如下代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
char buf[200];
string s;
getline(cin,s);
strcpy(buf,s.c_str());
printf("%s\n",buf);
return 0;
}
在C++6.0中如下显示:
明明代码上编写的要输入一次的,实际上我输入了两次,第三次为输出,输出的是第一次输入的。然而,在Visual Stdio 2010同样的代码,结果是正确的,如下:
上面输入一次,显示一次。
对此,我比较郁闷,Visual C++6.0中getline函数到底怎么了,希望看到此博文的读者指点!