Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >文件的顺序读写

文件的顺序读写

作者头像
pigeon
发布于 2022-04-11 11:29:05
发布于 2022-04-11 11:29:05
76100
代码可运行
举报
文章被收录于专栏:电子荣耀电子荣耀
运行总次数:0
代码可运行

文件的顺序读写

文件的顺序读写:

文件的顺序写(输出)操作是指先输出的数据存入文件前面的位置,后输出的数据存放在文件后面的位置。

文件的顺序读(输入)操作是指按数据在文件中存储的前后顺序,从文件开头向文件末尾依次读取。

字符读写函数

字符读写函数

int fgetc(FILE *fp)

fgetc函数:从文件fp中读取一个字符。读取成功,返回值读取到的字符,读取失败时返回值为EOF。

int fputc(char ch, FILE *fp)

fputc函数;向文件fp输出一个字符ch。输出成功,函数返回值是输出的字符ch,输出失败时返回值为EOF。

例1:从键盘输入一批字符,以字符“#”结束。把输入的字符输出到文件file1.txt中。

参考答案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 #include <stdio.h>
   #include <stdlib.h>
    int main()
   {
        char ch;
        FILE *fp;
        fp = fopen("file1.txt", "w");  //以w方式打开文件
        if(fp == NULL)
        {
           printf("打开文件失败!\n");
           exit();
       }
       while((ch = getchar()) != '#')
       {
           fputc(ch, fp);            //把字符ch写入文件
       }
       fclose(fp);                   //关闭文件
       return ;
   }

例2:把一个文件复制到另一个文件。

思路分析:基本思路是以读取方式打开源文件,以写入方式打开目标文件,然后逐个从源文件中读取字符并写入到目标文件中

参考答案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>  
    #include <stdlib.h>
    int main()
    {
        FILE *fp1, *fp2;
        char ch, src[], dest[];
        printf("输入源文件名: ");
        scanf("%s", src);
        printf("输入目标文件名: ");
       scanf("%s", dest);
       if((fp1 = fopen(src, "r")) == NULL)
       {
           printf("源文件打开失败!\n");
           exit();
      }
      if((fp2 = fopen(dest, "w")) == NULL)
      {
          printf("目标文件打开失败!\n");
          exit();
      }
      while((ch = fgetc(fp1)) != EOF)
      {
          fputc(ch, fp2);
      }
      fclose(fp1);
      fclose(fp2);
      printf("文件复制完成!\n");
      return ;
 }

字符串的读写函数

字符串的读写函数

char * fgets(char *buf, int n, FILE *fp)

从fp中读取长度不超过n-1的字符串,存入buf指向内存。读取成功返回值是buf,失败时返回值NULL。

参数n包括字符串结束标记,没有读完n-1个字符前碰到EOF或换行符自动结束。buf可以是字符数组名和字符型指针。

int fputs(char *s, FILE *fp)

向文件fp输出一个字符串s。如果输出成功,函数返回值是非负整数,输出失败时返回值为EOF。

参数s可以是字符数组名、字符串常量和字符型指针。

例:排序输出文件

参考答案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
     char dict[][], temp[];
     int i, j, n = ;
     FILE *fp;
     if((fp=fopen("dict.txt", "r")) == NULL) //读方式打开文件
     {
         printf("文件打开失败!\n");
         exit();
     }
     while((fgets(dict[n], , fp)) != NULL) //循环从文件中读取字符串
     {
         n++;                                //循环结束后n为字符串的个数
     }
     fclose(fp);                             //关闭文件

二进制和格式化读写函数

二进制读写函数

int fread(void *p, unsigned size, unsigned n, FILE *fp)

从文件fp中读取长度为size的n个数据项,存放到指针p代表的内存空间中。返回值是读取数据项个数。

int fwrite(void *p, unsigned size, unsigned n, FILE *fp)

把指针p指向的n*size个字节的数据输出到文件fp中。写入成功时返回值为写入数据项个数,失败返回小于n的值。

例:编程把表示多个学生信息的结构体数组写入student.dat文件中。

参考答案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
  #include <stdlib.h>
  typedef struct student
  {
      int id;
      char name[];
      double score;
  } STUDENT;
  int main()
  {
      STUDENT stu[]={{1001,"Zhang",88.0},{1002,"Lee",75},{1003,"Wang",95}};
      int i;
      FILE *fp;
      if((fp=fopen("student.dat", "wb")) == NULL)
      {
          printf("文件打开失败!\n");
          exit();
      }
   for(i=; i<; i++)
     {
         fwrite(&stu[i], sizeof(STUDENT), , fp);
     }
     fclose(fp);
     return ;
}

格式化读写函数

int fscanf(FILE *fp, char *format, args, …)

int fprintf(FILE *fp, char *format, args, …)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子荣耀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言的文件操作_C语言调用文件
C文件操作用库函数实现,包含在stdio.h中。 文件使用方式: 打开文件→文件读/写→关闭文件
全栈程序员站长
2022/09/23
9.5K0
C语言的文件操作_C语言调用文件
C语言读写程序文件-学习三十二
顺序读写数据文件在顺序写时,先写入的数据存放在文件中前面,后写入的数据存放在文件中后面。在顺序读时,先读文件中前面的数据,后读文件中后面的数据。对顺序读写来说,对文件读写数据的顺序和数据文件中的物理顺序是一致的。读写一个字符的函数fgetc()函数原型:int fgetc( FILE * fp );调用形式:fgetc(fp)作用:从 fp 所指向的输入文件中读取一个字符。返回值:成功则返回的是读取的字符,发生错误则返回 EOF(即-1)。fputc()函数原型:int fputc( int c, FILE
XG.孤梦
2022/03/01
9490
C语言读写程序文件-学习三十二
从零开始学C语言文件操作:理论与代码详解
在C语言编程中,我们编写的程序数据通常存储在电脑内存里。可一旦程序退出,内存就会回收这些数据,再次运行程序时,之前的数据就找不到了。为了能长久保存数据,我们就需要用到文件。文件可以把数据存储在磁盘上,即使程序关闭,数据依然存在,下次运行程序时还能读取使用。
用户11029137
2025/03/08
1080
教你彻底学会c语言基础——文件操作
函数定义:FILE *fopen(char *pname, char *mode)
诸葛青云
2018/09/10
9180
开讲啦:Chap 10 对文件的输入输出
表示file1.dat文件存放在D盘中的CC目录下的temp子目录下面,文件标识常被称为文件名,文件名主干的命名规则遵循标识符的命名规则,后缀用来表示文件的性质,如:
石璞东
2021/10/25
6870
【C】C语言文件(包括:文件各种读写方式)「建议收藏」
文件是指存储在外部存储器上的数据集合。更准确的来说,文件就是一组相关元素或数据的有序集合,而且每个集合都有一个符号化的指代,称这个符号化的指代为文件名。
全栈程序员站长
2022/09/05
1.5K0
研究生的一份试题的几道题节选
首先祝朋友考研成功,勇往直前,我是不考研的,所以完全以提高能力,使用为主,不在意细节。小伙伴让我帮忙看了一下试卷,故截取了几道题目。 c我是真的应了那句话,从入门到放弃,没有字符串,没有API,没有好类库。。。 1.0 下列语句可以正确进行字符串赋值 ( D ) A char *s = "good"; *s = "good"; B char s1[10]; s1 = "good"; C char s3[10]; *s3 = "good"; D char *s
热心的社会主义接班人
2018/04/27
5550
C语言入门系列之11.文件和文件操作
文件是指一组相关数据的有序集合,这个数据集有一个名称,叫做文件名。 我们在前面的已经使用到了很多文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。
cutercorley
2020/07/23
1.5K0
C语言入门系列之11.文件和文件操作
C语言读写文件
FILE *fopen(const char *path, const char *mode);
全栈程序员站长
2022/09/05
3.4K0
C语言进阶-文件操作超详解
scanf/printf、fscanf/fprintf、sscanf/sprintf函数对比
用户9645905
2022/11/30
1K0
C语言进阶-文件操作超详解
5.1 C/C++ 使用文件与指针
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王瑞MVP
2023/10/10
2510
5.1 C/C++ 使用文件与指针
流动的代码:文件流畅读写的艺术(二)文件顺序读写函数
fgetc 函数用于从指定的文件流中读取下一个字符。如果成功,它返回读取到的字符;如果到达文件末尾或发生读取错误,它则返回 EOF
用户11029103
2024/03/19
1320
流动的代码:文件流畅读写的艺术(二)文件顺序读写函数
C语言----文件操作
如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤⽂件。
凯子坚持C
2024/09/23
860
C语言----文件操作
C语言 文件读写的实现
其中,fp为文件指针变量;c为要写入的字符,可以是字符常量或字符型变量。函数返回值:如果执行成功,返回写入的字符;否则,返回EOF。
全栈程序员站长
2022/08/22
1.9K0
C语言 文件读写的实现
文件的顺序读写——顺序读写函数——fgets、fgetc、fputs、 fputc
创建一个文件,并向其中写入小写字母a到z,然后关闭文件。接着再以读的形式打开这个文件,并将这些字符输出到终端。
用户11328191
2024/10/23
3880
文件的顺序读写——顺序读写函数——fgets、fgetc、fputs、 fputc
C文件读写
可以将程序中的数据保存为一个文件。待下次重新启动程序时,从之前保存的文件中提取数据。这样,程序就不会在重启后失忆了。
WuShF
2023/03/03
3.3K0
C文件读写
C语言——文件操作
磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件
小李很执着
2024/06/15
1270
C语言——文件操作
文件操作——C语言
如果没有文件,我们写的程序的数据都是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等程序再次运行,我们是无法看到上次程序的数据的。如果想要将数据持久化的保存,我们可以使用文件来存储数据。
星辰与你
2024/10/17
1150
文件操作——C语言
要点4:C的文件操作
c中的文件打开模式分为:文本模式和二进制模式,分别处理文本格式文件和二进制格式文件。
CN_Simo
2020/08/25
8380
要点4:C的文件操作
C 文件读写1
fopen( ) 函数来创建或者打开文件,这个调用会初始化一个FILE 类型的对象。
饶文津
2020/06/02
7500
相关推荐
C语言的文件操作_C语言调用文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验