FILE类

我有一个文件(成绩.txt),里面存放的是学生成绩,格式为:
85
86
87
我如何每次读取一个成绩并输出,用什么函数?怎么写法?

附注:用fgets(&stud,2,fp)读出后再输出就不是原来的数据了 变成了另外的数字。

应该用fscanf()函数来读取
下面给个小例子: 
保存代码时,以.C为后缀名.用VC6.0编译(TC2.0也可,但不能显示汉字) 
用VC6.0编译时,不能点"!"来运行程序,因为这样程序是不能建立文件的. 
应该在Debug文件夹里面再运行程序(VC6.0编译程序时,生成的可执行文件放在Debug文件夹里面,里面要有"成绩.txt"文件)
#include<stdio.h>
#include<conio.h>
void ReadStudentDataToFile(void);
void main()
{
ReadStudentDataToFile();
getch();
}
void ReadStudentDataToFile(void)
{
 FILE *fp;
 float data;
 fp=fopen("成绩.txt","r");
 if(!fp)
 {
  printf("不能打开文件/n");
  return;
 }
 while(fscanf(fp,"%f",&data)>0)/*显示所有的成绩*/
 {
  printf("%f/t",data);
 }
 fclose(fp);
}
2.
//字符数字转换。

#include <stdio.h>

int readnum(FILE *fp){
 int n=0;
 char c='0';
 while(1){
 fread(&c,1,1,fp);
 if(c>'9'||c<'0'||fp==NULL)return n;
 n*=10;
 n+=(c-'0');
 }
 return n;
}



main(){
 FILE *fp;
 char c='0';
 int num; 
 fp=fopen("1.txt","r");
 num=readnum(fp);//每调用一次,读入一个整数 
//数字间以回车分隔。
 printf("%d",num);
 fclose(fp);
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值