C语言中文件重定向

C语言中文件重定向,第1张

包括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()函数:

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

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

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

fprintf

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

在c语言中,可以使用freopen将输入输出重定向。

c语言的标准输入输出为stdin和stdout,这两个变量的类型为file*类型,也就是说,标准输入输出 *** 作,其本质还是文件 *** 作。

当需要重定向时,可以调用

stdin

=

freopen("data.in","r",stdin)

stdout

=

freopen("data.out","w",stdout)

将标准输入重定向到data.in,将标准输出重定向到data.out。

当调用该函数时,需要引用头文件stdio.h。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11605102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存