大白鲨 发表于 2014-9-24 16:58:00

C++的文件重定向问题

使用文件重定向当你测试程序时,反复从键盘敲入这些销售记录作为程序的输入,是非常乏味的。大多数操作系统支持文件重定向,这种机制允许我们将标准输入和标准输出与命名文件关联起来:

[*]$ addItems <infile >outfile
假定$是操作系统提示符,我们的加法程序已经编译为名为addItems.exe的可执行文件(在UNIX中是addItems),则上述命令会从一个名为infile的文件读取销售记录,并将输出结果写入到一个名为outfile的文件中,两个文件都位于当前目录中。
上面这段话,文件重定向,怎么使用,求教,我是初学者

漩涡鸣人 发表于 2014-9-24 18:32:20

上面说得挺完整了,我再讲下重定向用法吧
unix/linux的话:
xxx <abc:表示xxx命令操作的数据从abc里读取,也就是输入源变成了abc
xxx >cba:表示xxx命令的正确结果输入到cba里,因为默认是标准输出重定向,如果要错误输出的话就把>改为2>

大白鲨 发表于 2014-9-24 19:10:30

C++里面,怎么弄呢,把文件里面的内容输入到程序里,在将输出的内容放到文件里,怎么弄?

漩涡鸣人 发表于 2014-9-24 19:13:53

ofstream out("outfile");
ifstream in("infile");
cin.rdbuf(in.rdbuf());
cout.rdbuf(out.rdbuf());
C++就容易多了,直接cin/cout.rdbuf重定向一下接着就正常使用就好了

大白鲨 发表于 2014-9-24 19:18:06

不是在黑窗口里面搞吗?你这个是直接在程序里面写,在黑窗口里面怎么弄啊,大神

大白鲨 发表于 2014-9-24 19:19:57

# include"iostream"
# include"Sales_item.h"

//using namespace std;
int main()
{
        Sales_item item1, item2;
        char end;
        std::cin >> item1;//依次输入ISBN号、售出的册数、以及销售价格//输出则为ISBN号、售出的册数、总销售额以及平均价格
        while (std::cin >> item2)
        {   
                if (item1.same_isbn(item2))
                        item1 += item2;
                else
                {   
                        std::cout << item1<<std::endl;
                        item1 = item2;
                }
                if (end = std::cin.get() == '\n')
                {
                        std::cout << item1<<std::endl;
                        break;
                }
               
        }
        return 0;
}这个程序怎么让它从文件中读取数据,然后输出到文件里面?大神

咸鱼一生咸 发表于 2019-7-21 16:51:54

这个代码是打在cmd上的

咸鱼一生咸 发表于 2019-7-21 16:56:07

刚刚注册不知道怎么发图片如果有需要的qq:1363456912(本人c++新手刚开始学)

咸鱼一生咸 发表于 2019-7-21 17:12:12

https://zhuanlan.zhihu.com/p/21820756
https://jingyan.baidu.com/article/4f7d5712f2513b1a201927a5.html
第一个是知乎上一个人的c++Primer的学习笔记(讲的很好)
第二个是windows系统CMD的使用方法
页: [1]
查看完整版本: C++的文件重定向问题