问题标签 [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.
c - C programming - freopen append a ? to the filename
I am writing a c program that simulates the linux shell.
In order to implement i/o redirection using redirection symbol i.e. the > symbol, i make use of freopen to replace stdout with file specified by the user. If say the command is:
My shell will print out the environment variables into bla.txt file instead of stdout.
However, instead of creating "bla.txt" file, the file created is "bla.txt?".
Can anyone solve the mystery behind the ? appended to the filename?
Here's the code for the i/o redirection only:
I have tried googling the solution but can't find anything. I have also tried looking at other stackoverflow question, but can't find answer.
Thanks.
c++ - 打开多个文件,替代 fopen()
我是一名新手程序员,对竞争性编程很感兴趣。我最近为 COCI 问题做了一个评分器。在此代码的一个函数中,我使用循环从输入文件中获取输入。它的文件打开部分如下所示 -
“id”更改并打开输入文件并将结果写入输出文件。主要问题是我必须使用 (fscanf) 读取数据,但我想使用 cin、cout 获取输入。(免费提供的东西)
但是当我使用 freopen 运行循环时,它无法从多个文件中读取输入。所以我必须使用 fopen()。
无论如何我可以使用 cin, cout 从使用此功能的文件中获取输入吗?
c - 来自 freopen() 和流的奇怪行为
编辑:我已经设法缩小问题的范围,但对我来说仍然没有多大意义。我的代码变成了 8 行:
此代码将全部打印到终端。删除带有“savedOut”的两行将全部打印到 process.txt。我理解后者的结果,但我不理解前者。
结束编辑
我在与freopen()
. 拿这段代码:
该程序将执行并打印“改变外流!” 正如预期的那样。“打印到文件!” 永远不会打印,既不会打印到终端,也不会打印到 writeFile。“完成打印到文件!\n”也不打印。稍后在代码中,代码调用execv()
Hello World 程序,该程序按预期打印到终端。但是,在程序突然终止时,所有 printf 语句都会打印到终端,甚至是“打印到文件”语句。
保存单个fgets()
,getUserInput()
不适用于流。
我一生都无法理解为什么会这样。有人有什么主意吗?
c++ - freopen_s("conout$") 和 fclose
Visual C++ 报告传递给 的参数无效fclose
,该参数FILE*
由 freopen_s 返回:
我不应该尝试在程序结束时关闭 conout$ 吗?是否因为文件指针在所有控制台输出的进程之间共享而引发异常?
c++ - 再次打开,但在 fseek 后仍然无法阅读
我在 C++ 中有如下内容。
我想多次读取一个文件,但失败了。
虽然我再次使用 freopen 后使用 fseek 移动到文件的头部,但我仍然只能读取一次。第二次,cin 什么都没得到@.@。
我真的很困惑。
(看来c的freopen可以工作,但我真的很想用cin ...)
c++ - 写入终端和文件 c++
我发现这个问题是针对 Python、Java、Linux 脚本而不是 C++ 回答的:
我想将我的 C++ 程序的所有输出都写入终端和输出文件。使用这样的东西:
仅将其输出到名为“myfile.txt”的输出文件,并防止其显示在终端上。我怎样才能让它同时输出到两者?我使用 Visual Studio 2010 Express(如果这有什么不同的话)。
提前致谢!
linux - 重定向标准输入以完全不提供输入?
在我问的另一个问题中,我意识到我想重定向stdin
,但它绝对不提供任何输入。例如,我希望一个电话getchar()
永远挂起。然后我想通过发送终止信号来终止应用程序。
我试过了freopen("/dev/null", "r", stdin);
,但这不起作用,因为/dev/null
当 read 返回一个EOF
它似乎触发getchar()
执行时,我的程序退出了。
我怎样才能重定向stdin
到根本不读取任何内容?
c - freopen 或 freopen_s,他们到底在做什么?
errno_t freopen_s (FILE** pFile, const char *path, const char *mode, FILE *stream);
在这里, freopen_s 将 FILE 指针stream
与其指向的任何内容解除关联,然后将其与位于path
. mode
定义了使用这个特定指针可以做什么的限制stream
。
据我所知,所有这些都与以下情况没有什么不同:
我的问题是:pFile
那里做什么?freopen也有它,作为返回值。从我看到的所有示例中pFile
,在调用之后, 也指向位于 的同一个文件path
。所以:
真的是这样吗?
c++ - 函数 freopen() 不写入文件
我有下一个简单的代码:
我认为输出文件“stdout.txt”必须包含打印的消息,但它是空的。试图阅读有关 function的信息freopen()
,但我到处都能看到类似的例子。我也读了这个问题:
freopen not writing to the specified file
but can't understand what that solution's author means and how implementation this solution in code..