C语言中什么是重定向?
ããéå®åä¸æ¯Cè¯è¨èæ¯æ¯shellï¼å½ä»¤è¡çªå£ï¼åçäºæ
ï¼å®ææ件æ¥å°ç¨åºçæ åè¾å
¥ãæ åè¾åºãææ åé误æµä¸ã
ããå¦æç¨åºåå¤ç¨éå®åæ¥åï¼ç´æ¥ä»æ åè¾å ¥è¯»æ°æ®ï¼æ¯å¦scanfæè cinï¼ç¶åå¾æ åè¾å ¥åç»æï¼printfæè coutã
ããç¶åç¨åºæ§è¡çæ¶åï¼å¨å½ä»¤è¡çªå£ä¸ä½¿ç¨éå®åæ¥æå®å°è¾åºéå®åå°ä¸ä¸ªæ件ï¼
ããä¾å¦ï¼å½ä½ çç¨åºåå«åtest.exe:
ããæ§è¡ test.exe > essayct.txtã
ããå¦æç¨åºåå¤ç¨éå®åæ¥åï¼ç´æ¥ä»æ åè¾å ¥è¯»æ°æ®ï¼æ¯å¦scanfæè cinï¼ç¶åå¾æ åè¾å ¥åç»æï¼printfæè coutã
ããç¶åç¨åºæ§è¡çæ¶åï¼å¨å½ä»¤è¡çªå£ä¸ä½¿ç¨éå®åæ¥æå®å°è¾åºéå®åå°ä¸ä¸ªæ件ï¼
ããä¾å¦ï¼å½ä½ çç¨åºåå«åtest.exe:
ããæ§è¡ test.exe > essayct.txtã
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-05-17
是指输入/输出流重定向吧?
比如printf和scanf就是默认的通过标准输入输出来传送的函数。
但是比如设置一个文件指针,再用重定向把输出指向一个文本,类似
fprintf (fp,"12345",string);那么就是把程序的输出接收由替换成fp指向的文本,这就是输出流的重定向。本回答被提问者和网友采纳
比如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中。
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()函数:
在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系统命令里的重定向。一般有<和>操作,请参考。