【发布时间】:2018-01-31 17:19:43
【问题描述】:
我想在 C 中创建一个程序,以便它编译另一个 c 程序并将输出保存在文本文件中。例如,我希望使用 C 程序将“input.c”文件的输出存储在名为“output.txt”的文本文件中。请帮忙。
我之所以选择这个项目,是因为在 Turbo C++ 中复制整个输出屏幕通常会变得很困难,而且有时 turbo c 不会显示整个输出,而只复制当前输出屏幕,而留下之前的输出。
【问题讨论】:
-
是 C 还是 C++ ?迂腐地,你不能在可移植 C 或可移植 C++ 中这样做(因为你不能保证运行你的程序的计算机有一些编译器)。
-
“output.txt 中的输出”是指编译器在编译过程中产生的诊断信息,还是编译后的程序本身在运行时产生的输出信息? (无论哪种方式,听起来都像是从命令行运行并使用 > 运算符将 stdout 重定向到文件会得到你想要的,而无需编程)
-
请停止标签垃圾邮件 C != C++ != C#。 仅使用实际适用于您的问题的标签,并停止随机添加看起来相似的其他标签。
-
我从控制台编译 (MSVC),使用批处理文件确保设置了环境变量。如果
errorlevel不是 0,它会使用@NMAKE > TEMP.ERR重定向的编译器输出重新编译,原因如下:所以我可以更轻松地检查输出。 -
您不需要 C 程序来编译和运行另一个程序并保存其输出。如果您可以在 C 程序中执行此操作,您可以从命令行 shell 执行此操作(在一些奇怪的仅 GUI 的系统中除外)。所以实际上你只需要知道使用 C 编译器编译的命令,以及运行程序并将其输出重定向到文件的命令。
标签: c file file-handling