【c语言】文本文件的读写操作

这篇具有很好参考价值的文章主要介绍了【c语言】文本文件的读写操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c语言系列专栏:c语言之路重点知识整合 🔥
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ


本文基于——文件的基本概念:文件的基本概念、操作

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++


一、文本写操作

1.覆盖重写模式

使用wt以覆写的方式打开文本文件:

	FILE *p=fopen("E:\\TianXiFile\\这是一个文本文件.txt", "wt");

回顾向屏幕输出的方式:

	//屏幕输出内容:
		printf("%d %.2f %s ...\n", 7, 6.22, "TianXi");
		puts("Studio\n");
		putchar("K");

文件输出只需要在输出的函数前添加一个f

	//向文件输出
		fprintf(p,"%d %.2f %s ...\n", 7, 6.22, "TianXi");
		fputs("Studio\n",p);
		  //fputchar("!");
		fputc("K", p);

fprintf()函数:

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

fputs()函数:

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

fputc()函数:

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

全部代码:

// 覆盖重写模式
	FILE *p=fopen("E:\\TianXiFile\\这是一个文本文件.txt", "wt");
	if (p)
	{
		//屏幕输出内容:
		printf("%d %.2f %s ...\n", 7, 6.22, "TianXi");
		puts("Studio\n");
		putchar("K");

		//向文件输出
		fprintf(p,"%d %.2f %s ...\n", 7, 6.22, "TianXi");
		fputs("Studio\n",p);
		  //fputchar("!");
		fputc("K", p);


		fclose(p);
		p = NULL;
	}

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

2.打开追加模式

使用wt以覆写的方式打开文本文件

	// 打开追加模式
	FILE* p = fopen("E:\\TianXiFile\\这是一个文本文件2.txt", "at");
	if (p)//如果文件打开成功
	{
		fputc('T', p);//向IO流缓冲区写入一个字符
		fputs("天喜", p);//向IO流缓冲区写入一串字符
		fclose(p);//关闭文件流
		p = NULL;//释放文件指针
	}
	else
	{
		printf("创建失败\n");
	}

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

二、文本读操作

1.读取整数

先创建一个文本文件,存放一些整数(包括逗号):

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

#include<stdio.h>
int main()
{
	 // 读取若干个整数
	int i;
	FILE* readFile = fopen("E:\\TianXiFile\\成绩.txt", "rt");//rt以只读的方式打开文件
	if (readFile)
	{

		//键盘缓冲区读取:scanf
		//文件读取:fscanf
		while (!feof(readFile)) //feof函数判断是否到了文件的尾部, !feof代表没有   file end of file
		{
		   fscanf(readFile,"%d,",&i);//以%d,的格式读取每一个整数
		   printf("%d \n", i);
		}
		fclose(readFile);
		readFile = NULL;
	}
	return 0;
}

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

问题:如果在数据后面多添加一个逗号还会读取成功吗?

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

运行看到:91被重复读取了两次

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

原因就是读取到最后一位时循环读取未结束,以%d读取时遇到 , 读取失败了 就重复了上一次读取的91

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

正确读取i变量的方法:

改变判断循环结束的条件

fscanf(readFile, “%d”, &i)

大于0代表成功读取了一个整数

if (readFile)
	{

		//键盘缓冲区读取:scanf
		//文件读取:fscanf
		while (!feof(readFile)&& fscanf(readFile, "%d,", &i)>0) //feof函数判断是否到了文件的尾部, !feof代表没有   file end of file
		{
		   //以%d,的格式读取每一个整数
		   printf("%d \n", i);
		}
		fclose(readFile);
		readFile = NULL;
	}

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

2.读取汉字

如何读取文本文件中的汉字呢?

通过上面的方法,使用%s字符串读取:

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

结果出现了乱码

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

这是什么原因呢?

因为汉字的双字符存储问题:

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++
因此在文件中更改一下保存的编码为ANSI就可以正常输出汉字了:

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++

fgets()读取:

使用fgets()函数逐行读取文件中的内容,直至文件末尾为止。

在每一行末尾添加 ‘\0’ 空字符,实现字符串的标准化。

FILE* p = fopen("E:\\TianXiFile\\文本文档.txt", "rt");
	if (p)
	{
		char str[50];
		//fscanf(p, "%s",str);
		printf("读取成功!\n");
		while (!feof(p))
		{
			fgets(str, 50, p);

			printf("%s\n", str);
		}

		fclose(p);
		p = NULL;
	}
	else
	{
		printf("读取失败!");
	}

c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++


文本文件的的读写操作到此结束,下面是二进制文件的读写操作

【c语言】二进制文件的读写操作


c语言读取文本文件,c语言之路重点知识整合,c语言,学习,笔记,开发语言,c++文章来源地址https://www.toymoban.com/news/detail-795925.html

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

到了这里,关于【c语言】文本文件的读写操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【正点原子STM32】C语言重点知识(配置MDK支持C99、位操作清零置一、带参数的宏定义、头文件的条件编译和代码条件编译、关键字、结构体指针、代码规范)

    一、stdint.h简介 配置MDK支持C99 二、位操作 如何给寄存器某个位赋值(清零置一) 三、宏定义 带参数的宏定义 四、条件编译 头文件的条件编译和代码条件编译 五、extern声明 六、类型别名(typedef) 类型别名应用 七、结构体 应用举例(定义使用) 应用举例(ST源码,使用类型

    2024年02月19日
    浏览(39)
  • C语言 文本文件读取、写入与定位(详细介绍)

    目录 文本文件相关介绍 1.打开文件 2.文件的读取  (1) fgetc 函数 (2)fgets 函数 (3)fscanf 函数 (4)fread 函数 3.关闭文件 fclose(FILE *stream ); 4.文件的写入 (1)fpuc 函数 (2)fputs 函数 (3)fprintf 函数 (4)fwrite 函数 5.文本文件的指针定位 (1)rewind 函数  (2)fseek 函数    

    2024年01月22日
    浏览(46)
  • C语言文件操作(文件读写)

    本文主要介绍C语言中文件操作的相关内容(例:文件读、写等相关函数)。 在对计算机的使用中我们几乎离不开文件。例如常见的有word 文档,txt文本文件,图片文件、音频文件等。 文件是以计算机硬盘为载体存储在计算机上的信息集合。是数据源的一种,最主要的作用是保

    2024年02月02日
    浏览(44)
  • C语言——文件操作(2)文件的读写操作

            之前,我讲解了文件的基本情况与读写模式,看到这篇博客的小伙伴们先参考这篇博客:  C语言——文件操作详解(1)_         接下来,我会继续讲解文件操作的第二大步:文件读/写操作。 目录         A.文件的顺序读写         一.字符输入输出函数 

    2024年02月09日
    浏览(39)
  • 【PDFBox】PDFBox操作PDF文档之读取指定页面文本内容、读取所有页面文本内容、根据模板文件生成PDF文档

    这篇文章,主要介绍PDFBox操作PDF文档之读取指定页面文本内容、读取所有页面文本内容、根据模板文件生成PDF文档。 目录 一、PDFBox操作文本 1.1、读取所有页面文本内容 1.2、读取指定页面文本内容 1.3、写入文本内容 1.4、替换文本内容 (1)自定义PDTextStripper类 (2)创建Key

    2024年02月16日
    浏览(62)
  • C++文件操作基础 读写文本、二进制文件 输入输出流 文件位置指针以及随机存取 文件缓冲区以及流状态

    文本文件一般以行的形式组织数据。 包含头文件: #include fstream 类: ofstream(output file stream) ofstream 打开文件的模式(方式):类内open()成员函数参数2.参数1是文件存储/创建路径 例如:fout.open(filename,ios::app); 对于 ofstream,不管用哪种模式打开文件,如果文件不存在,都会创

    2024年01月25日
    浏览(51)
  • C语言文件的读写操作

    目录 一,文件 1.文本模式,二进制模式 2.标准文件 二,文件的打开和关闭 1.文件指针 1.1文件的打开  1.2文件的关闭 三,文件的顺序读写  1.fgetc 2.fputc 3.fgets 4.fputs 5.fprintf 6.fscanf 7.fwrite 8.fread  9.表格 四,文件的随机读写 1,fseek   2,ftell 3,rewind 判断文件结束 1,feof 2,判断

    2024年02月10日
    浏览(41)
  • C语言如何使用文件读写来处理文件操作?

    首先,让我们来谈谈文件读写,这听起来有点像一个神秘的活动,就像你是一个特工在阅读和修改机密文件一样!所以,假设你是一个特工小鱼,正在进行秘密任务。 首先,你需要给自己起一个特工代号。我们先把你叫做Agent007。接下来,你需要打开一个目标文件,就像你发

    2024年02月12日
    浏览(51)
  • 【c语言】二进制文件的读写操作

    创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡𖥦)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c语言系列专栏:c语言之路重点知识整合 🔥 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ 本文基

    2024年02月12日
    浏览(43)
  • Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

    在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for 循环的基本语法如下: 其中, 变量 表示每次循环中取出的一个元素, 可迭代对象 表示被遍历的对象。下面是一个 for 循环的例子: 输出结果为: 代码中, fruits 是一个列表, fruit 是当前循

    2024年02月10日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包