文件读写(freopen、fopen)

重定向版
读入 freopen("input.txt","r",stdin);   
 "r":只读,与stdin连用
输出 freopen("output.txt","w",stdout);
 "w":写,与stdout连用
函数原型:FILE *freopen(char *filename, char *type, FILE *stream)
 file写文件名即可,不要使用绝对路径或相对路径,应与工程放在同一文件夹中。
使用示例:
#include<stdio.h>
int main()
{
 freopen("input.txt","r",stdin);
 freopen("output.txt","w",stdout);
 int i,n,count = 0;
 long long a;
 scanf("%d",&n);
 a = n;
 while(a>1)
 {
  if(a%2) a = 3*a+1;
  else a = a/2;
  count++;
 } 
 printf("%d\n",count);
 return 0;
}

fopen版
定义 FILE *fin,*fout;
     fin = fopen("data.in","rb");
     fout = fopen("data.out","wb");
输入用fscanf(fin,"%d",&n);
输出用fprintf(fout,"%d\n",count);
计算完成
     fclose(fin);
     fclose(fout);
使用示例:
#include<stdio.h>
int main()
{
 FILE *fin,*fout;
 fin = fopen("data.in","rb");
 fout = fopen("data.out","wb");
 int i,n,count = 0;
 long long a;
 fscanf(fin,"%d",&n);
 a = n;
 while(a>1)
 {
  if(a%2) a = 3*a+1;
  else a = a/2;
  count++;
 } 
 fprintf(fout,"%d\n",count);
 fclose(fin);
 fclose(fout);
 return 0;
}


 

猜你喜欢

转载自blog.csdn.net/c_y_w_/article/details/79880407