C语言中文件重定向

2025-04-15 02:03:55
推荐回答(4个)
回答1:

包括DOS在内的大多数操作系统,都提供了将程序的输入和输出重定向到不同设备上的手段。这就是说,程序的输出并不一定是到屏幕上,还可以重定向到文件或打印机端口上;程序的输入并不一定来自键盘,还可以重定向到文件上。 在DOS中,重定向是通过重定向字符“<”和“>”来实现的。例如,如果你要求程序PRINTIT.EXE的输入来自文件STRINGS.TXT,你就可以在DOS提示符下键入如下命令: C:\>PRINTIT

回答2:

  重定向不是C语言而是是shell(命令行窗口)做的事情,它把文件接到程序的标准输入、标准输出、或标准错误流上。
  如果程序准备用重定向来做,直接从标准输入读数据,比如scanf或者cin,然后往标准输入写结果,printf或者cout。
  然后程序执行的时候,在命令行窗口下使用重定向来指定将输出重定向到一个文件:
  例如,当你的程序名叫做test.exe:
  执行 test.exe > essayct.txt。

回答3:

$ 在linux中的shell脚本中表示变量;
重定向我只在Linux下用过, > 它的朝向表示要输出到哪里,要输出到文件,echo "hello" > /path/filename

你可以试试看,一般权限够的话那里都可以,前提可能要指明文件的路径。

回答4:

C语言中可以通过freopen函数实现文件的重定向,即把一个打开的文件,重定向到另外一个文件上。

freopen是被包含于C标准库头文件中的一个函数,用于重定向输入输出文件。该函数可以在不改变代码原貌的情况下改变输入输出环境,但使用时应当保证文件是可靠的。
函数原型为

FILE *freopen( const char *filename, const char *mode, FILE *stream );

该函数可以用来重定向标准输入输出,比如将标准输出stdout重定向到out.txt的语句为
stdout = freopen("out.txt", "w", stdout);
执行该语句后,凡是通过标准输出语句,如printf, puts, putchar等输出到标准输出的内容,均会被写入到out.txt中。