C语言输入输出的重定向

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15237565/article/details/79621032

引言

在写C语言程序时,经常会出现大量的测试数据,比如说将输入的数据存入数组并进行排序,在测试代码时每次都要手动输入数组的数据,这样是十分麻烦的。

方法

最简单的方法是使用文件的重定向输入输出

#include<stdio.h>
int main()
{
    freopen("input.txt","r",stdin);
    freopen("outout.txt","w",stdout);
    int i,j;
    int temp ,a[5]={};
    for(i=0;i<5;i++) //遍历输入 
        scanf("%d",a+i);
    for(i=0;i<5;i++){ //进行n-1趟
        for(j=0;j<5-i;j++){
             if(a[j]>a[j+1]){
                temp=a[j+1];
                a[j+1]=a[j];
                a[j]=temp;        
            }
        }
    }
    for(i=0;i<5;i++) //遍历输出
        printf("%d  ",a[i]);
    return 0;   
} 

freopen(“input.txt”,”r”,stdin);
freopen(“outout.txt”,”w”,stdout);

上述语句将使得scanf从文件inpu.txt读入,printf写入文件output.txt
(input.txt和output.txt文件要和源程序在一个文件夹)
inout.txt
output.txt

猜你喜欢

转载自blog.csdn.net/qq_15237565/article/details/79621032
今日推荐