C语言中什么是重定向?

Python021

C语言中什么是重定向?,第1张

重定向不是C语言而是是shell(命令行窗口)做的事情,它把文件接到程序标准输入、标准输出、或标准错误流上。

如果程序准备用重定向来做,直接从标准输入读数据,比如scanf或者cin,然后往标准输入写结果,printf或者cout。

然后程序执行的时候,在命令行窗口下使用重定向来指定将输出重定向到一个文件:

例如,当你的程序名叫做test.exe:

执行 test.exe >essayct.txt。

是指输入/输出流重定向吧?

比如printf和scanf就是默认的通过标准输入输出来传送的函数。

但是比如设置一个文件指针,再用重定向把输出指向一个文本,类似

fprintf

(fp,"12345",string)那么就是把程序的输出接收由显存替换成fp指向的文本,这就是输出流的重定向。

那个redirect命令貌似是asp命令。

不过关于重定向输出,还是要在命令提示符中运行。

比如a.exe的功能是:先显示YES

OR

NO,然后进行判断

输入YES则显示DO

IT

输入NO则显示KILL

IT

在CMD中,输入命令a.exe>1.txt

再输入NO

则1.txt中的内容是:

YES

OR

NO

KILL

IT

而此过程中屏幕上没有关于该程序的任何显示,但是把程序所要显示的所有东西都记录在了1.txt中,这就是输出的重定向。

哦,文件名称是redirect.c,那么生成的程序名称就是redirect.exe,那么redirect>test.txt和上面例子中的a.exe>1.txt作用是一样的,.exe可以省略罢了。没什么区别的。

比如你写了一个程序,存放在C:盘根目录下,名称为abc.exe

然后打开CMD,在C盘目录下执行命令abc.exe>t1.txt或者是abc>t1.txt

这样输出就重定向到t1.txt中了,t1.txt与abc在同一目录。