#include<stdio.h>
typedef struct
{
char name[10];
int num;
int age;
}student;
int main()
{
student stuin,stuout;
FILE *fp;
if((fp=fopen("d:\\dat.txt","w+"))==NULL)
{
printf("无法打开此文件!\n");
}
scanf("%s %d %d",stuin.name,&stuin.num,&stuin.age);
fwrite(&stuin,sizeof(student),1, fp);
fseek(fp,0L,SEEK_END);
int len = ftell(fp);
rewind(fp);
fread(&stuout,len,1,fp);
printf("%s %d %d\n",stuout.name,stuout.num,stuout.age);
//fprintf(fp,"%s %d %d",stu.name,stu.num,stu.age);
fclose(fp);
}
对应关系:
fwrite<<>>fread
fscanf<<>>fprintf
fgets<<>>fputs
1.函数功能
用来读写一个数据块。
2.一般调用形式
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
3.说明
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。
注意:1 完成次写操(fwrite())作后必须关闭流(fclose());
2 完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;
3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。
文件使用之后一定要关闭,否则将不能正确显示内容.fwrite:读入两个学生信息然后用fwrite存入文件
fread:用fread从文件中读出学生信息。
fwrite.c
#include <stdio.h>
#define SIZE 2
struct student_type
{
char name[10];
int num;
int age;
char addr[10];
}stud[SIZE];
void save()
{
FILE *fp;
int i;
if((fp=fopen("stu_list","wb"))==NULL)
{
printf("cant open the file");
exit(0);
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
main()
{
int i;
for(i=0;i<SIZE;i++)
{
scanf("%s%d%d%s",&stud[i].name,&stud[i].num,&stud[i].age,&stud[i].addr);
save();
}
for(i=0;i<SIZE;i++)
{
printf("%s,%d,%d",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
}
fread.c
#include <stdio.h>
#define SIZE 2
struct student_type
{
char name[10];
int num;
int age;
char addr[10];
}stud[SIZE];
void read()
{
FILE *fp;
int i;
if((fp=fopen("stu_list","rb"))==NULL)
{
printf("cant open the file");
exit(0);
}
for(i=0;i<SIZE;i++)
{
if(fread(&stud[i],sizeof(struct student_type),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
main()
{
int i;
read();
for(i=0;i<SIZE;i++)
{
printf("%s,%d,%d,%s",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
printf("\n");
}
}
分享到:
相关推荐
C语言fread函数和fwrite函数的用法及其实例[收集].pdf
### C语言fread函数和fwrite函数的深入解析 在C语言中,`fread`和`fwrite`函数是处理文件二进制读写的核心工具,它们允许程序员以更高效的方式在内存与磁盘文件之间传输数据,尤其适用于大量数据的处理场景。与`...
/* 从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件上去 */ #include #define SIZE 4 struct student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; ...……
在C语言中,`fread` 和 `fwrite` 是用于从磁盘文件中读取和写入数据的函数,它们都是标准输入/输出库(stdio.h)的一部分。这两个函数在处理二进制数据时非常有用,例如图像、音频或自定义格式的数据。`fread` 和 `...
在C语言中,`fread`和`fwrite`是两个非常重要的I/O函数,它们用于从文件中读取数据和向文件中写入数据。这两个函数是标准库`stdio.h`的一部分,对于处理二进制文件尤其有用。下面将详细介绍`fread`和`fwrite`的使用...
在C语言中,`fread()` 和 `fwrite()` 是用于从文件中读取和写入数据的标准库函数,它们属于 `<stdio.h>` 头文件的一部分。这两个函数在处理大量数据时非常有用,但初学者可能会遇到一些困惑,尤其是当它们的返回值不...
* 程序填空题:本题考查了文件输入/输出的知识点,包括fopen函数、fread函数和fwrite函数的使用。 * 程序设计题:本题考查了文件复制的知识点,包括文件指针的使用和文件操作的知识点。 期末综合测试卷(一) 1. ...
在C语言中,读写二进制文件是通过标准库函数`fopen`, `fread`, `fwrite`, 和 `fseek`...理解并熟练运用`fopen`, `fseek`, `fread`, 和 `fwrite`等函数,能让你更有效地处理各种二进制数据,实现高效且可靠的文件操作。
* fread函数和fwrite函数:读写二进制文件 这些函数的使用需要了解其格式和参数,以便正确地使用它们。同时,需要清楚地了解这些函数是用于二进制文件还是文本文件,以避免错误的使用。 计算机二级C语言文件考点是...
- 编程时应检查 `fwrite` 和 `fread` 的返回值,这些函数会返回实际写入或读取的字节数。如果返回值与预期不符,说明可能出现了错误,需要根据错误码进行调试。 为解决这个问题,你可以按照以下步骤进行: 1. ...
FILE类型的文件指针可以指向文件的开始、当前位置或结束位置,我们可以使用fopen函数来打开文件,使用fclose函数来关闭文件,使用fread函数和fwrite函数来读取和写入文件。 例如: #include void main(){ FILE ...
* fread函数和fwrite函数:二进制文件输入和输出。 这些函数都有其特定的用途和格式,例如: * feof函数的格式为:`int feof(FILE *stream)`,它返回一个整数值,表示文件是否到达末尾。 * fseek函数的格式为:`...
C语言提供了多种文件读写函数,例如fread函数和fwrite函数。读写文件时,需要指定文件指针、缓冲区大小和读写模式。 8.2.4 文件的定位 文件的定位是指文件指针的移动,C语言提供了多种文件定位函数,例如fseek函数...
了解二进制文件的数据块读写〔fread 函数和 fwrite 函数〕;了解文件的定位〔rewind 函数和 fseek 函数〕。学生需要掌握 C 语言中的文件操作,并能正确地使用它们。 此外,本考试大纲还涵盖了树、集合、符号表、...
在C语言中,文本文件操作可以使用fgetc函数和fputc函数,二进制文件操作可以使用fread函数和fwrite函数。 C语言中的文件操作还可以分为高级输入输出和低级输入输出。高级输入输出是指使用缓冲文件系统对文件进行...
C++ fread 函数详解 fread 函数是 C++ 语言中...在实际应用中,fread 函数可以用于读取各种类型的文件和流数据,并且可以与其他函数结合使用,例如 fwrite 函数、fseek 函数等,来实现更加复杂的文件操作和数据处理。
文件读写章节介绍了如何使用C语言进行文件操作,包括使用fopen函数打开文件、fclose函数关闭文件,以及fscanf函数、fgetc函数、fputc函数、fgets函数、fputs函数、fread函数和fwrite函数的使用方法。此外,还介绍了...
fgetc fputc fgets fputs fscanf fprintf fread fwrite文件操作函数使用例程代码,在日常应用中,我们为了持续的使用一些数据,为了让数据可以在程序退出后可以保存并正常使用,引入了文件的概念和操作。下面是这些...
C语言-思维导图C语言思维导图 语言基础 数据类型:整数、...文件读写:fread函数、fwrite函数 文件关闭:fclose函数 异常处理 try-catch语句:try块、catch块、finally块 异常类型:runtime error、logical error
Matlab 提供了多种二进制 I/O 函数,例如 fwrite 函数和 fread 函数。 88.5.1 fwrite 函数 fwrite 函数是 Matlab 中的一个基本函数,用于将数据写入二进制文件。该函数可以将数据写入文本文件或二进制文件。fwrite...