c语言输入重定向
A. c语言重定向什么意思,麻烦做个比喻来解释
默认情况下,stdin指键盘输入,stdout指屏幕输出
“重定向”就是让stdin或者stdout改变默认含义,比如可以把stdin定向到一个文件等。
B. C语言中什么是重定向
是指输入/输出流重定向吧?
比如printf和scanf就是默认的通过标准输入输出来传送的函数。
但是比如设置一个文件指针,再用重定向把输出指向一个文本,类似
fprintf
(fp,"12345",string);那么就是把程序的输出接收由显存替换成fp指向的文本,这就是输出流的重定向。
C. C语言输入重定向的问题
#include<stdio.h>
#include<string.h>
int main(){
char b[200]="1234567";
freopen("d:\0.cpp","r",stdin);
freopen("d:\0.txt","w",stdout);
fclose(stdin);
fclose(stdout);
freopen("CON","r",stdin);
freopen("CON","w",stdout);
scanf("%s",b); //读入Hello!
printf("%s",b);
}
D. C语言中什么是重定向
重定向不是C语言而是是shell(命令行窗口)做的事情,它把文件接到程序的标准输入、标准输出、或标准错误流上。
如果程序准备用重定向来做,直接从标准输入读数据,比如scanf或者cin,然后往标准输入写结果,printf或者cout。
然后程序执行的时候,在命令行窗口下使用重定向来指定将输出重定向到一个文件:
例如,当你的程序名叫做test.exe:
执行 test.exe > essayct.txt。
E. C语言如何重定向输入和输出
两种方法
1
命令行重定向
比如
编译出a.exe
使用a.exe
<
in.txt
>
out.txt
其中<用于重定向输入,
>用于重定向输出
2
代码方式
通过freopen函数
重定向stdin和stdout
比如
stdin
=
freopen("in.txt",
stdin);
F. 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。
G. c语言怎么进行重定向输入
那个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在同一目录。