用文件代替键盘和屏幕作为输入和输出
2014-03-16 17:31
162 查看
简介
C程序将输入视为一个外来字节的流。许多操作系统都提供重定向,这就使我们能够用文件代替键盘作为输入,或用文件代替显示器作为输出。以下,笔者以自己的Win7操作系统为例进行讲解。
(本文参考资料 :《C Primer Plus》(第五版)第八章-字符输入/输出和输入确认。)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
准备
随便找个地方新建一个文件夹,作为工作空间。比如在桌面建立“重定向”,在文件夹内写一个add.c程序,代码如下。
将上述代码编译,生成可执行文件add.exe后即可,然后再新建一个输入数据文件"input.txt",内容如下:
![](https://img-blog.csdn.net/20140316165625328?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
基础:打开cmd命令行程序
用[Shift+鼠标右键]的方法,在弹出的菜单中选择“在此处打开命令行窗口”。(关键是要确保add.exe、input.txt文件和cmd窗口在同一路径中)
![](https://img-blog.csdn.net/20140316170038453?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20140316170416250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
操作方法
此时,直接打上add(PS:cmd不区分大小写,事实上,win7的文件都不区分大小写),然后回车,就代表执行add.exe程序。我们可以通过输入数据,让程序进行运算,效果如下:(每两行中的第二行——3,7,11,是按下回车键后的输出值)
![](https://img-blog.csdn.net/20140316170532765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
因为我们的程序是识别到EOF才结束,所以必须在cmd中按[Ctrl + C] 的方式结束add.exe程序,效果如下:
![](https://img-blog.csdn.net/20140316171229125?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
现在,我们用input.txt文件代替键盘输入,只要在执行add时,用“<”符号,右边写上相应文件名即可:
![](https://img-blog.csdn.net/20140316171429531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
运行后,程序直接输出了三个结果。这就是用文件代替键盘输入的方法。如果要用文件来存储输出结果,则用“>”符号,右边写上文件名:
![](https://img-blog.csdn.net/20140316171705921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
上述两步可以合并操作,且 < input.txt和 > output.txt的顺序没有影响:
![](https://img-blog.csdn.net/20140316171859796?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZTQxMDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
另外,如果把“>”改为">>",则代表在指定文件的末尾继续添加数据,效果如下:
C程序将输入视为一个外来字节的流。许多操作系统都提供重定向,这就使我们能够用文件代替键盘作为输入,或用文件代替显示器作为输出。以下,笔者以自己的Win7操作系统为例进行讲解。
(本文参考资料 :《C Primer Plus》(第五版)第八章-字符输入/输出和输入确认。)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
准备
随便找个地方新建一个文件夹,作为工作空间。比如在桌面建立“重定向”,在文件夹内写一个add.c程序,代码如下。
#include <stdio.h> int main() { int a, b; while (scanf("%d%d", &a, &b) != EOF) printf("%d\n", a+b); return 0; }
将上述代码编译,生成可执行文件add.exe后即可,然后再新建一个输入数据文件"input.txt",内容如下:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
基础:打开cmd命令行程序
用[Shift+鼠标右键]的方法,在弹出的菜单中选择“在此处打开命令行窗口”。(关键是要确保add.exe、input.txt文件和cmd窗口在同一路径中)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
操作方法
此时,直接打上add(PS:cmd不区分大小写,事实上,win7的文件都不区分大小写),然后回车,就代表执行add.exe程序。我们可以通过输入数据,让程序进行运算,效果如下:(每两行中的第二行——3,7,11,是按下回车键后的输出值)
因为我们的程序是识别到EOF才结束,所以必须在cmd中按[Ctrl + C] 的方式结束add.exe程序,效果如下:
现在,我们用input.txt文件代替键盘输入,只要在执行add时,用“<”符号,右边写上相应文件名即可:
运行后,程序直接输出了三个结果。这就是用文件代替键盘输入的方法。如果要用文件来存储输出结果,则用“>”符号,右边写上文件名:
上述两步可以合并操作,且 < input.txt和 > output.txt的顺序没有影响:
另外,如果把“>”改为">>",则代表在指定文件的末尾继续添加数据,效果如下:
相关文章推荐
- 从键盘输入一字符串(以#作为结束),显示在屏幕中并写入ch.txt文件中
- C语言:从键盘输入一个字符串,以感叹号!作为结束标志,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。
- 输入文件名及路径创建该文件,并把从键盘输入的内容保存到该文件,最后将该文件的路径、该文件名及文件中的内容输出到屏幕。
- C语言 重定向 从txt文件取数据作为输入代替键盘输入
- 从键盘输入4个学生的有关数据,然后把它们保存到磁盘文件中,最后从磁盘文件中读取数据输出到屏幕
- 参考例4.2将小写字母从键盘输入转换为大写字母及其十进制ASCII值从屏幕输出
- 文件IO 从键盘输入(标准输入),标准输出。可以输入汉字..strncmp 比较字符串..BUFSIZ
- C语言文件读写练习:从键盘读入若干字符,并逐个将这些字符写入文件中,直至输入"#"结束。再将这些字符从文件中读出并显示到屏幕上。
- C语言读取文件中的数据作为输入和输出
- Demo8 :标注输入输出(接收标准的键盘输入和输出到屏幕)
- java 从键盘输入一个关键字,在 D:盘查找文件,如果文件名中包含该关键字,则输出这个文件的绝对路径,如果都没有找到,则输出找不到相关信息。
- 读取文件中的数据作为输入和输出
- OutputStreamWriter,InputStreamReader(获取键盘输入的数据,并输出到屏幕上)
- windows下面把输出到屏幕的printf输入到文件里面
- 从键盘输入若干个字符,逐个存到磁盘文件data.txt中,直到输入’\n’为止,并将建立的文本文件的内容在存入文件的同时,在屏幕上显示出来:
- 文件与键盘输入与输出
- c语言:从键盘输入BOY三个字符,然后把它们输出到屏幕。
- 输入3个字符串写入到文件里,再输出到屏幕上
- 编写一个void sort(int*x,int n)实现将x数组中的n个数据从大到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件
- 《Two Dozen Short Lessons in Haskell》学习(十八) - 交互式键盘输入和屏幕输出