📅  最后修改于: 2023-12-03 14:59:38.787000             🧑  作者: Mango
在C语言中,除了可以使用printf和scanf函数实现输入和输出外,还有一种更加灵活的方式,那就是使用输入输出重定向。
输入重定向就是将输入的数据从键盘转换到文件或者其他的输入设备中。使用输入重定向需要用到运行命令时的标准输入符'<', 将命令的输入从标准输入设备(默认为键盘)转移到我们指定的文件或其他设备中。
例如,我们有一个程序文件input.c
,其中的输入语句是从标准输入设备中获取输入的:
#include <stdio.h>
int main(void)
{
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("您输入的两个整数分别为:%d %d", num1, num2);
return 0;
}
如果我们想将这个程序的输入从键盘改为从文件中获取,可以使用输入重定向。例如我们已经将输入分别写入了两个文件input1.txt
和input2.txt
中,我们可以使用以下命令:
./input < input1.txt
运行这条命令后,我们就可以看到程序已经成功读入了输入文件中的两个整数。
输出重定向就是将程序输出的内容从标准输出设备转移到文件或其他设备中。使用输出重定向需要用到运行命令时的标准输出符'>', 它将命令的输出定向到我们指定的文件或其他设备中。
例如,我们有一个程序文件output.c
,其中输出语句是输出到屏幕上的:
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
如果我们想要将程序的输出重定向到文件中,可以使用以下命令:
./output > output.txt
运行这条命令后,程序输出的内容就会被写入到output.txt
文件中。
当然,我们也可以同时使用输入重定向和输出重定向,例如:
./input < input2.txt > output.txt
这条命令将程序的输入从input2.txt
文件中获取,输出到output.txt
文件中。
总之,使用输入输出重定向可以帮助我们更加灵活地获取和保存程序的输入输出结果,有效地提高了程序的可读性和可获得性。