假设有一个c程序实现的是读入一个字符然后输出
scanf("%c", &cha);
printf(%c", cha);
这样运行的时候每次都要输入一个字符才行,我想实现的是将这个字符固定在一个文件中,这样每次就不用重复的输入了,前提是不改变上面两行代码。
假设有一个c程序实现的是读入一个字符然后输出
scanf("%c", &cha);
printf(%c", cha);
这样运行的时候每次都要输入一个字符才行,我想实现的是将这个字符固定在一个文件中,这样每次就不用重复的输入了,前提是不改变上面两行代码。
使用输入管道 |
可解决此问题。
以 linux 系统为例,可以这样
echo -n <要输入的字符> | <要运行的程序>
# 比如
echo -n hi | cat -
# 从文件读取字符
cat <文件名> | <要运行的程序>
改变输入输出流:
include <stdio.h>
int main(){
freopen("in.txt","r", stdin);
freopen("out.txt","w", stdout);
/ 中间按原样写代码,什么都不用修改 /
fclose(stdin);
fclose(stdout);
return0;
}