文件读写(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;
}


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值