使用Eclipse-cdt做开发的同学可能会遇到这样的,需要输入EOF作为结束标志结束输入,但是不知道怎么结束输入。在网上搜了一堆解决方法,都是说windows下使用 Ctrl+Z 做EOF信号,unix和linux下用 Ctrl+D 做EOF信号。自己在Eclipse-cdt中试一下,发现这招行不通。
例如调试和运行以下代码,使用 Ctrl+D 也是无法终止输入的。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> svec;
string str;
// 输入vector元素
cout << "Enter strings:" << endl;
while (cin >> str)
svec.push_back(str);
cout << "OK" << endl;
return 0;
}
其实解决这个问题分为两步:
1. 依次代开“window“->"Perference"->"General"->"Keys",找到EOF的快捷键设置,设置为“Ctrl+D”,在“When”中设置为“I/O Console”,保存,OK~
2. 修改工程的Run配置,“Run”->“Run Configurations...”->“Main”,去掉Connect process input & output to a terminal,保存。
再次运行程序,输入数据结束后,使用"Ctrl+D"就可以结束输入了!
例如调试和运行以下代码,使用 Ctrl+D 也是无法终止输入的。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> svec;
string str;
// 输入vector元素
cout << "Enter strings:" << endl;
while (cin >> str)
svec.push_back(str);
cout << "OK" << endl;
return 0;
}
其实解决这个问题分为两步:
1. 依次代开“window“->"Perference"->"General"->"Keys",找到EOF的快捷键设置,设置为“Ctrl+D”,在“When”中设置为“I/O Console”,保存,OK~
2. 修改工程的Run配置,“Run”->“Run Configurations...”->“Main”,去掉Connect process input & output to a terminal,保存。
再次运行程序,输入数据结束后,使用"Ctrl+D"就可以结束输入了!