C++程序什么形式才算是“输入是stdin、输出是stdout”?

请教大家一个问题:一段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字符串呢?

谢谢了先!

3个回答

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;
a745275633
a745275633 EOF
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问