首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c++ streams的freopen()等效项

c++ streams的freopen()等效项
EN

Stack Overflow用户
提问于 2011-03-10 17:11:30
回答 3查看 29.4K关注 0票数 21

当使用c风格的i/o编程时,我有时会使用freopen()重新打开stdin进行测试,这样我就不必一次又一次地重新输入输入。我想知道是否有用于c++ i/o流的等价物。此外,我知道我可以使用管道在命令行/终端/其他地方重定向它,但我想知道是否有一种方法可以在我的代码中做到这一点(因为正如你所看到的,我对cl/t/w不是很了解)。

EN

Stack Overflow用户

回答已采纳

发布于 2011-03-10 17:26:47

freopen还可以与cincout一起使用。不需要搜索新的东西。

代码语言:javascript
运行
复制
freopen("input.txt", "r", stdin); // redirects standard input
freopen("output.txt", "w", stdout); // redirects standard output

int x;
cin >> x; // reads from input.txt
cout << x << endl; // writes to output.txt

编辑:来自C++标准27.3.1的

对象cin控制来自与<cstdio>中声明的对象stdin相关联的流缓冲器的输入。

所以根据标准,如果我们重定向stdin,它也会重定向cin。对于cout,反之亦然。

票数 40
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5257509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档