C语言中什么是重定向?

C语言中什么是重定向?

  重定向不是C语言而是是shell(命令行窗口)做的事情,它把文件接到程序的标准输入、标准输出、或标准错误流上。
  如果程序准备用重定向来做,直接从标准输入读数据,比如scanf或者cin,然后往标准输入写结果,printf或者cout。
  然后程序执行的时候,在命令行窗口下使用重定向来指定将输出重定向到一个文件:
  例如,当你的程序名叫做test.exe:
  执行 test.exe > essayct.txt。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-17
是指输入/输出流重定向吧?
比如printf和scanf就是默认的通过标准输入输出来传送的函数。
但是比如设置一个文件指针,再用重定向把输出指向一个文本,类似
fprintf (fp,"12345",string);那么就是把程序的输出接收由替换成fp指向的文本,这就是输出流的重定向。本回答被提问者和网友采纳
第2个回答  2015-09-26
C语言中可以通过freopen函数实现文件的重定向,即把一个打开的文件,重定向到另外一个文件上。

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

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

该函数可以用来重定向标准输入输出,比如将标准输出stdout重定向到out.txt的语句为
stdout = freopen("out.txt", "w", stdout);
执行该语句后,凡是通过标准输出语句,如printf, puts, putchar等输出到标准输出的内容,均会被写入到out.txt中。
第3个回答  2014-09-08
包括DOS在内的大多数操作系统,都提供了将程序的输入和输出重定向到不同设备上的手段。这就是说,程序的输出并不一定是到屏幕上,还可以重定向到文件或打印机端口上;程序的输入并不一定来自键盘,还可以重定向到文件上。
在DOS中,重定向是通过重定向字符“<”和“>”来实现的。例如,如果你要求程序PRINTIT.EXE的输入来自文件STRINGS.TXT,你就可以在DOS提示符下键入如下命令:
C:\>PRINTIT<STRINGS.TXT
请注意,可执行文件的名称总是第一个出现。“<”符号告诉DOS将STRINGS.TXT中的字符串作为程序PRINTIT.EXE的输入。关于重定向stdout标准流的例子请看4. 5。
标准流的重定向并不一定总在操作系统下进行,在程序内部,用标准C库函数freopen()同样可以重定向标准流。例如,如果你要求在程序内部将标准流stdout重定向到文件OUTPUT.TXT,你就可以象下面这样使用freopen()函数:
第4个回答  2014-10-04
重定向不是c语言的功能,而是linux系统命令里的重定向。一般有<和>操作,请参考。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网