C语言与文件输入输出

简介: 数据块读写函数有Fread和Fwrite函数,主要是用于整块数据的读写函数,可以使用读写一组函数 一个结构体变量的值。

数据块读写函数有Fread和Fwrite函数,主要是用于整块数据的读写函数,可以使用读写一组函数 一个结构体变量的值。

度函数调用的一般形式为:

Fread(buffer,size,count,fp);

写函数调用的一般形式为:

Fwrite(buffer,size,count,fp);

其中 buffer 是一个指针 在fread函数中 他表示存放输入数据的首地址 在fwrite函数 他表示存放输出数据的首地址

Size 表示数据块大小的字节数

Count 表示要读写的数据块块数

Fp 表示文件指针

例如:fread(fa,4,5,fp);

其意义是从fp所指的文件中每次读4个字节 (一个整数数)送到整型数据中fa中 连续读5次 就是把五个整数连续存进fa中.

#include<stdio.h>
struct stu
{
  char name[10];
  int num ;
  int age ;
  char addr[5]; 
}boya[2],boyb[2],*pp,*qq;
main()
{
  FILE *fp;
  char ch;
  int i;
  pp = boya;
  qq = boyb;
  if((fp=fopen("c1","wb+"))==NULL)
  {
    printf("\nCannot open file strike any key exit!");
    getch();
    exit(1);
  }
  for(i=0;i<2;i++,pp++)
    scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
  pp = boya;
  fwrite(pp,sizeof(struct stu),2,fp);
  rewind(fp);
  fread(qq,sizeof(struct stu),2,fp);
  printf("\n");
  for(i=0;i<2;i++,qq++)
  printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);
  fclose(fp);
}

2345_image_file_copy_5.jpg

2345_image_file_copy_6.jpg

注释:

定义了一个结构stu 说明了两个结构体数组boya 和boyb以及连个结构指针变量pp和qq  并且以读写的形式打开 输出书两个学生的数据之后 将内部文件指针移动到文件首 读出两块学生数据后 在屏幕上显示。

相关文章
|
5月前
|
存储 编译器 程序员
c语言的文件操作与文件缓冲区
如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以使用文件。磁盘(硬盘)上的文件是文件。但是在程序设计中,我们⼀般谈的⽂件有两种:程序文件、数据文件(从文件功能的角度来分类 的)。就比如说我们电脑中以.txt为后缀的就是文件的一种,他就是数据文件。.exe为后缀的就为程序文件。函数名功能适用范围fgetc字符输入函数所有输入流fputc字符输出函数所有输出流fgets。
124 0
|
9月前
|
人工智能 C语言
|
10月前
|
存储 小程序 C语言
【C语言程序设计——文件】文件操作(头歌实践教学平台习题)【合集】
本文介绍了C语言中的文件操作,分为两个关卡。第1关任务是将键盘输入的字符(以#结束)存入`file1.txt`并显示输出;第2关任务是从键盘输入若干行文本(每行不超过80个字符,用-1作为结束标志),写入`file2.txt`后再读取并显示。文中详细讲解了文件的打开、读取(使用`fgetc()`和`fgets()`)、写入(使用`fputc()`和`fputs()`)及关闭操作,并提供了示例代码和测试说明。
270 5
|
12月前
|
算法 C语言
C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项
本文深入讲解了C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项,通过实例演示了文件操作的基本流程,帮助读者掌握这一重要技能,提升程序开发能力。
678 3
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
C语言
【C语言】探索文件读写函数的全貌(三)
【C语言】探索文件读写函数的全貌
|
存储 C语言
【C语言】探索文件读写函数的全貌(二)
【C语言】探索文件读写函数的全貌
109 2
|
Linux C语言
C语言 文件IO (系统调用)
本文介绍了Linux系统调用中的文件I/O操作,包括文件描述符、`open`、`read`、`write`、`lseek`、`close`、`dup`、`dup2`等函数,以及如何获取文件属性信息(`stat`)、用户信息(`getpwuid`)和组信息(`getgrgid`)。此外还介绍了目录操作函数如`opendir`、`readdir`、`rewinddir`和`closedir`,并提供了相关示例代码。系统调用直接与内核交互,没有缓冲机制,效率相对较低,但实时性更高。
|
C语言
【C语言】探索文件读写函数的全貌(一)
【C语言】探索文件读写函数的全貌