c语言怎么进行重定向输入
那个redirect命令貌似是asp命令。
不过关于重定向输出,还是要在命令提示符中运行。
比如a.exe的功能是:先显示YES
OR
NO,然后进行判断
输入YES则显示DO
IT
输入NO则显示KILL
IT
在CMD中,输入命令a.exe1.txt
再输入NO
则1.txt中的内容是:
YES
OR
NO
KILL
IT
而此过程中屏幕上没有关于该程序的任何显示,但是把程序所要显示的所有东西都记录在了1.txt中,这就是输出的重定向。
哦,文件名称是redirect.c,那么生成的程序名称就是redirect.exe,那么redirecttest.txt和上面例子中的a.exe1.txt作用是一样的,.exe可以省略罢了。没什么区别的。
比如你写了一个程序,存放在C:盘根目录下,名称为abc.exe
然后打开CMD,在C盘目录下执行命令abc.exet1.txt或者是abct1.txt
这样输出就重定向到t1.txt中了,t1.txt与abc在同一目录。
请问C语言中的重定向输出如何理解?以及其输出到文件的是什么?(麻烦举一个例子)
简单的例子,C语言里printf默认输出到标准输出,即屏幕;就像一根默认接到屏幕上的管子,运行的结果通过管子流向屏幕。而重定向就像把管子接在屏幕上的那头重新接到另一个地方,比如接到文件上,那么程序运行的结果就通过重定向后的管子流到文件里(即 写文件)。这时屏幕上不会有输出的显示,而输出就保存在了你重定向的文件里了。
如果还有不懂的可以追问或者私信我
C语言中文件重定向
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中。
c语言重定向文件输入输出
在c语言中,可以使用freopen将输入输出重定向。
c语言的标准输入输出为stdin和stdout,这两个变量的类型为file*类型,也就是说,标准输入输出操作,其本质还是文件操作。
当需要重定向时,可以调用
stdin
=
freopen(“data.in”,”r”,stdin);
stdout
=
freopen(“data.out”,”w”,stdout);
将标准输入重定向到data.in,将标准输出重定向到data.out。
当调用该函数时,需要引用头文件stdio.h。