问题标签 [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 投票
1 回答
278 浏览

console - Freopen() not working in SDL

I tried using freopen() to redirect the "cout" function to the console, but it doesn't produce the desired effect. Instead of just double clicking on the executable and having the console show it's message, I need to use a command prompt or a batch file, and that's a problem, because I want the user to be able to close the console after the message has been displayed without closing the SDL window. This is supposed to be a console application. I apologize if I am not clear enough.

0 投票
2 回答
236555 浏览

c - 如果文件不存在则创建一个文件 - C

我希望我的程序打开一个文件(如果存在),或者创建该文件。我正在尝试以下代码,但我在 freopen.c 获得了调试断言。使用 fclose 然后立即使用 fopen 会更好吗?

0 投票
1 回答
1189 浏览

c++ - freopen 未写入指定文件

我正在尝试使用文件重定向 stdout 和 stderr 的输出。我正在使用 freopen,它会在正确的目录中创建文件,但文件是空白的。当我注释掉重定向标准输出和标准错误的代码时 - 输出显示在控制台上。

这是代码:

我在 main 中放置了一个 printf("I WORK") 并且没有它输出但不会写入文件的抑制剂。

0 投票
1 回答
679 浏览

c - 使用 freopen 和之后使用 fopen 是否合法?

假设我有一个字符串char* str。我通过以下方式将其打印到缓冲区:

此代码可能会导致无效的流缓冲区句柄吗?freopen使用和使用它是否合法fopen?基于我的系统的限制,我不能使用fprintfsprintf.

0 投票
0 回答
176 浏览

c - 与标准输出流关联的文件

我有很长的多线程应用程序,我无法在此处添加哪些代码。从我调用的主程序

之后,不同的线程开始运行。从其中一些线程开始写入标准输出。其中一些发生了向 stderr 的写入(也可能被重定向)。在成功打印随机数之后uniq_name,突然我看到打印到屏幕上,我希望它应该进入uniq_name文件。在屏幕上出现如此随机数量的打印后,我再次看到uniq_name文件已完成打印。它在 Win7 和 Linux 上运行良好 - 失败在 Win8 上。我对任何想法(甚至是理论上的)都感兴趣——这可能是什么原因

0 投票
1 回答
701 浏览

c++ - freopen 后,WriteFile 到 stdout 失败

我写了以下代码:

在最后一行我得到一个断言“ Unhandled exception...:Access violation writing location 0x000000”可能是什么问题以及解决方法?

谢谢你。

PS:由于项目限制我不能使用freopen

0 投票
3 回答
1155 浏览

android - fclose 在 android 和 linux 上的工作方式不同

以下程序:

-1在 ubuntu 11.04 和2ICS 4.0.3 模拟器上显示。找不到有关此问题的任何信息 - 我可以使此代码在两个平台上类似地工作吗?freopenonstderr有同样的问题。

更新:

以前的小程序演示了我遇到的实际问题的原因:如果我尝试freopen stderr在不存在的目录中归档,在 linux 上stderr是关闭的,但在 android 上它保持打开状态!甚至更多 - 如果我在这个打开的stderr文件中写入 smth 然后fopen在其他文件上执行,我打印到stderr的文本将写入这个打开的文件。

所以,这个程序:

在 linux 上显示:

这在android上:

0 投票
3 回答
2088 浏览

c++ - 尝试使用非常量字符串创建带有 freopen 的输出文件

我正在尝试创建一个文件,其名称是一个字符串常量,但一个字符串由一个常量字符串“List”一个整数 + + 一个扩展名组成。这是我的代码:

当我尝试构建时告诉我以下错误:

错误:无法转换std::string' to参数1' toFILE* 的 const char*' freopen(const char*, const char*, FILE*)'|

我该如何解决这个问题?

0 投票
1 回答
196 浏览

c++ - 混合使用 freopen 和 ncurses

我在与 ncurses 库混合freopen时遇到问题。stdin

我所做的是将标准输入重新打开到一个文件,通过 flex+bison 解析它,然后我应该将它恢复回来并启动 ncurses。

交换代码如下:

在我的词法分析器中,这就是我所做的:

在主文件中我只是做类似的事情

现在,如果我不评论revertStdin它只是在启动时停止,如果我评论它,解析确实有效,但 ncurses gui 没有响应并且不时闪烁。

由于这两个部分在独立使用时都可以工作,我猜想以我错过的顺序方式混合它们有一些警告。有人有线索吗?

0 投票
1 回答
461 浏览

c - 在c中将输出流发送到char []

我一直在使用dupfreopen重新路由stdout到如下文件:

我想做的是将它重新路由到 a char[],以便我可以操纵它。显然,这在使用 编写时不是很有用printf,但是在使用写入到 的库时,stdout在代码中获取输出会很有帮助,这样我就可以在必要时对其进行操作。