请教大家一个问题:一段C++程序,接口怎么做才能满足“输入是stdin、输出是stdout”?
1. 是说这段程序的输入是 cin>>形式的、输出是cout<<形式的键盘terminal读写吗?
2. 还是说输入是ifstream in()形式的、输入是ofstream out()形式的文件呢?
3. 还是说应该是stringstream这种东西呢?
……再多问一句:如果stdin/stdout真的是cin/cout的话,能否用 cin>>x>>y 这种方式读入两个char x[]+char y[]字符串或者string x+string y字符串呢?
谢谢了先!
c++ cout与cin 输出与输入的都是char类型数据组成的一个整串,内部采用序列化方式,无论输入的是int还是char都会以char整串的形式输出,我空间有printf实现可以参考下。
看操作系统是否对输入输出重定向,默认是键盘和终端作为输入和输出。也就是谁是stdin/out不需要程序考虑,是操作系统考虑的。
再请教一下:如果我的程序会连续收到 cin>> 这个形式的输入,那么什么情况下让程序终止运行?
比方说:我写一个算命软件。不过现在想算命的人很多,一个接一个的来 cin 输入他们的生辰八字。每输入一个,我的程序就自动cout算命结果。那么什么情况下应该让我程序终止运行呢?
目前我用的是空回车,不过感觉这样也不太好,因为空回车应该是没有输入、程序待命的样子……
while(1)
{
cout << "\nPlease enter the command, or just use blank 'Enter' to stop." << endl;
string command;
getline(std::cin, command);
if (command == "") return 0;