问题标签 [freopen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
87 浏览

c - fprintf 有最后一个打印语句打印到标准输出

基本上在这行代码中,我试图在进程之间进行管道传输时从读写中打印缓冲区。但是最后一个打印语句没有打印到文件,而是打印到标准输出?我也尝试过使用 fprintf 并且最后一个打印语句仍然显示为

当我想要运行可执行文件时在终端中

打印到文件中

这是写的

0 投票
2 回答
2257 浏览

c++ - 在 Visual Studio C++ 系统(“暂停”)中使用 freopen() 时不起作用

我试图从 vs17 中的文件中读取。但是这里 system("pause") 不起作用。这里的控制台窗口只是弹出并消失。input.txt 文件只包含一个整数。

那么有什么方法可以从文件中读取并在控制台中显示输出,直到给出来自键盘的另一个输入。提前致谢

0 投票
0 回答
184 浏览

c - C freopen() 导致分段错误

我有一部分 C 程序:

它的输出是:

所以,我认为问题出在 freopen() 函数中,但我无法弄清楚它有什么问题。我已经仔细检查了文件的路径(它存在并且访问权限一切正常),甚至尝试硬编码绝对路径或使用另一个文件的路径,但一切都是徒劳的。然后,我尝试打开文件以进行写入操作而不是追加,但它也没有帮助。那么,可能出了什么问题?为什么调用会导致 SIGSEGV?

谢谢!

架构:arm64

操作系统:armbian nightly 5.41.180312

gcc 版本:(Ubuntu GLIBC 2.23-0ubuntu10)2.23

0 投票
1 回答
434 浏览

c - 即使在 NULL 检查后使用 freopen 时,fclose(stdout) 也会导致崩溃

我正在尝试使用 freopen 将标准输出打印到文件,并且下面的代码崩溃。我正在检查 NULL,并且我很确定我在程序的其他地方没有分段错误,因为我验证了我所有的 malloc 都是正确的。

程序在到达时崩溃fclose(stdout)并且不打印我附加的错误消息以检查它。该printf("\nTestBeforeClose");行打印但printf("\nTestAfterClose");不打印。

这是我正在使用的 var 结构:

0 投票
1 回答
1055 浏览

windows - 如何在 Windows 下将 stdout 和 stderr 都 freopen() 转换为单个输出文件

我有一个 Windows Win32/GUI 应用程序,它有时会向stdout和打印有趣的输出stderr,所以我想做的是在应用程序退出后将该输出捕获到一个文件中以供查看。

问题是,我可以成功调用freopen_s()以将输出捕获stdout到文件中,或者我可以使用它来将stderr输出捕获到文件中,但是尝试同时执行这两种操作只会产生一个带有经过处理的数据的截断文件。

下面是一个重现问题的简单程序;如果我注释掉这两个freopen_s()调用中的任何一个,那么我会在blah.txt创建的文件中得到预期的输出(即两个文本行之一),但我想要的是最终blah.txt包含两个文本行。

在Windows下可以吗?我可以回退到创建两个不同的文件(例如blah_stdout.txtblah_stderr.txt),但我宁愿不这样做,因为那时我必须手动重建生成 std​​out 和 stderr 输出的相对顺序。

0 投票
1 回答
256 浏览

c++ - 功能 freopen 未读取输入

我正在尝试测试freopen("inputs.txt","r",stdin);,但它不起作用。下面是我的代码:

我的输入文件中只有一个整数,并且在同一目录中。
任何人都可以帮忙吗?

0 投票
1 回答
393 浏览

c++ - 在 freopen(..,"r",stdin) + fclose(stdin) 之后,进一步的 std::cin 不起作用

此代码块将混合来自终端和文件的输入。第一个、第二个和第三个 cin 工作正常,但第四个失败了。似乎 fclose(stdin) 在这里没有功能。

0 投票
1 回答
362 浏览

c - 在 freopen() 之后是否需要 fclose() 两个文件?

我正在编写一个代码,它获取一个文件并将其保存到另一个具有不同名称的文件中 - 但是,我不确定是否需要关闭这两个文件?

0 投票
1 回答
11 浏览

cin - 为什么在我写入并关闭该文件后我不能从该文件中读取?

我在尝试着

  1. 从 scene.txt 中读取,进行计算并写入 stage1.txt

  2. 然后从 stage1.txt 读取并写入 stage2.txt

  3. 最后,读取stage2.txt,写入stage3.txt;

1和2工作得很好。但是,我不太确定,为什么我不能做第三个?

我使用 freopen 重定向标准输入和标准输出,然后在从第 1 点移动到第 2 点之前,我关闭了标准输入和标准输出。然后再次将 freopen 与不同的文件一起使用。

我怀疑使用 stringstream 会导致问题,但不能自信地说。

我希望上面的第 3 点有效。但它没有。

0 投票
1 回答
107 浏览

java - 如何在java的I/O流中转换c++的freopen

当我在java中编码时,我必须读取一个文件并在java上写入

我有 C++ 代码

freopen("addin.txt","r",stdin); freopen("addin.txt","w",stdout);

我必须在java中转换这段代码我怎么能?