C语言-文件块操作

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define FILENAME "E:\\FUSHI\\students.txt"
 4
 5 struct student
 6 {
 7     int num;//学号
 8     char name[20];//姓名
 9     char rank; //成绩等级
10     int score;//成绩
11 };
12
13 int main()
14 {
15     FILE *fp;
16     struct student stu;
17     fp=fopen(FILENAME,"wb");
18     if(fp==NULL)
19     {
20         printf("不能打开文件:%s\n",FILENAME);
21         exit(1);
22     }
23     printf("请输入学生的学号、姓名、成绩:\n");
24     scanf("%d",&stu.num);
25     while(stu.num!=0)
26     {
27         scanf("%s%d",stu.name,&stu.score);
28         switch(stu.score/10)
29         {
30         case 10:
31         case 9:
32             stu.rank=‘A‘;break;
33         case 8:
34             stu.rank=‘B‘;break;
35         case 7:
36             stu.rank=‘C‘;break;
37         case 6:
38             stu.rank=‘D‘;break;
39         default:
40             stu.rank=‘E‘;break;
41         }
42         fwrite(&stu,sizeof(struct student),1,fp);
43         scanf("%d",&stu.num);
44     }
45     fclose(fp);
46
47     fp=fopen(FILENAME,"rb");
48     if(fp==NULL)
49     {
50         printf("不能打开文件:%s\n",FILENAME);
51         exit(1);
52     }
53     printf("学号 姓名 成绩 等级\n");
54     fread(&stu,sizeof(struct student),1,fp);
55     while(!feof(fp))
56     {
57         printf("%d %s  %d  %c\n",stu.num,stu.name,stu.score,stu.rank);
58         fread(&stu,sizeof(struct student),1,fp);
59     }
60     fclose(fp);
61
62     return 0;
63 }
时间: 2024-10-14 12:07:27

C语言-文件块操作的相关文章

学习C/C++语言:文件的操作

#include<stdio.h> #include<stdlib.h> void main(int argc,char *argv[]) { FILE *in,*out; if(argc!=3) { printf("you forgot to enter a file name\n"); exit(0); } if((in=fopen(argv[1],"r"))==NULL) { printf("cannot open infli

C语言文件读写操作总结

C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了.当使用打开函数时,必须给出文件名.文件操作方式(读.写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头.若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头. fopen(char

C语言文件读写操作,从文件读取数据

很早写的在linux系统下的文件读写操作,从文件中读取数据 #include <stdio.h> int ReadInfoFromFile(const char *strFile) { FILE *fp; char ch; fp = fopen(strFile, "r"); // 只读的方式打开文件 if(fp==NULL) { perror("fopen"); // 打开文件失败 打印错误信息 return -1; } ch = fgetc(fp);

C语言文件读写操作,写入数据到文件

很早写的在linux系统下的文件读写操作,写入数据到文件,很时候初学者学习 #include <stdio.h> int writeInfoToFile(const char *strFile) { int age, i; char name[10]; FILE *fp; fp = fopen(strFile, "w"); // 只读的方式打开文件 if(fp == NULL) { perror("fopen"); // 文件打开失败,打印错误信息 re

C语言文件IO操作的一些其它函数

stat 函数 1 1 #include <sys/stat.h> 2 2 #include <unistd.h> 3 3 #include <stdio.h> 4 4 int main() 5 5 { 6 6 struct stat buf; 7 7 stat("1.c", &buf); 8 8 printf("1.c file size = %d\n",(int)buf.st_size); 9 9 return 0;

C语言 文件操作API介绍

文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等.文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来.从不同的角度可对文件作不同的分类.从用户的角度看,文件可分为普通文件和设备文件两种. 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件.目标文件.可执行程序:也可以是一组待输入处理的原始数据,或者是一组输出的结果.

C语言的文件的操作(二)

C语言的文件的操作(二) 八.数据块读写   #fread 函数是从文件中读出数据块. int fread(void *buf, int size, int count, FILE *fp); #fwrite函数是向文件写入数据块. int fwrite(void *buf, int size, int count, FILE *fp); 参数: buf是一个指针,对fread是读入数据的存放地址,对fwrite是要输出数据的地址. size,要写的字节数:count,要进行写多少个size字节

C语言-文件操作

一 ASCII(文本)文件.二进制文件:文本文件每个字符为一个字节,占用空间大,速度慢(需要由二进制文件转换),优点在于便于对字符的操作:二进制文件多用于即需要输入到内存又要暂存在外存上.C语言将文件看做是字符流或二进制流数据(字符/字节)的集合. 二缓冲/非缓冲文件:在unix中,缓冲文件(高级I/o)文件用于处理文本,非缓冲文件用于二进制文件.C语言对文本和二进制文件都采用缓冲文件,即用户数据和磁盘数据之间都是通过内存缓冲文件来进行的,因而对文件操作后必须用fclose(*p)关闭文件:将缓

D语言文件操作

文件操作软件制作过程中经常会使用到.D语言的文件操作需要使用std.stdio包,在D语File被封装为一个结构类型struct File.写个例子来试试, 简单使用文件的方式需要使用std.file 模块,在后面也后介绍: 1. 写入文件一行 auto file = File("abc.txt"); file.writeln("abc"); file.close(); 运行后出异常提示Cannot open file `abc.txt' in mode `rb'