首页 > 其他分享 >C语言 ——— 文件的顺序读写

C语言 ——— 文件的顺序读写

时间:2024-08-31 12:25:20浏览次数:12  
标签:文件 顺序 return 函数 读写 NULL C语言 pf fopen

目录

顺序读写函数介绍​编辑

测试 fputc 函数​编辑

测试 fgetc 函数​编辑

测试 fputs 函数​编辑

测试 fputs 函数​编辑

测试 fgets 函数​编辑


顺序读写函数介绍

 

测试 fputc 函数

第一个参数是传递字符,第二个参数传递文件指针 

#include<stdio.h>
int main()
{
	// 创建文件指针变量并以写的方式打开文件
	FILE* pf = fopen("text.txt", "w");
	
	// 判断是否打开成功
	if (pf == NULL)
	{
		perror("fopen");
		return -1;
	}

	// 写入字符
	fputc('a', pf);
	fputc('b', pf);
	fputc('c', pf);

	// 关闭文件并置空
	fclose(pf);
	pf = NULL;

	return 0;
}

代码运行后验证发现确实在当前目录下创建了一个 txt 文档,并顺序写入了字符


测试 fgetc 函数

#include<stdio.h>
int main()
{
	// 创建文件指针变量并以读的方式打开文件
	FILE* pf = fopen("text.txt", "r");
	
	// 判断是否打开成功
	if (pf == NULL)
	{
		perror("fopen");
		return -1;
	}

	// 读出字符
	while (fgetc(pf) != EOF)
	{
		printf("%c ", fgetc(pf));
	}

	// 关闭文件并置空
	fclose(pf);
	pf = NULL;

	return 0;
}


测试 fputs 函数

#include<stdio.h>
int main()
{
	// 创建文件指针变量并以写的方式打开文件
	FILE* pf = fopen("text.txt", "w");
	
	// 判断是否打开成功
	if (pf == NULL)
	{
		perror("fopen");
		return -1;
	}

	// 写入字符 - 写入一行
	fputs("abcdef", pf);

	// 关闭文件并置空
	fclose(pf);
	pf = NULL;

	return 0;
}


测试 fputs 函数

#include<stdio.h>
int main()
{
	// 创建文件指针变量并以写的方式打开文件
	FILE* pf = fopen("text.txt", "w");
	
	// 判断是否打开成功
	if (pf == NULL)
	{
		perror("fopen");
		return -1;
	}

	// 写入字符 - 写入一行
	fputs("abcdef", pf);

	// 关闭文件并置空
	fclose(pf);
	pf = NULL;

	return 0;
}


测试 fgets 函数

只会读取 num-1 个字符,比如输入 7,只会读取 6 个字符

#include<stdio.h>
int main()
{
	// 创建文件指针变量并以读的方式打开文件
	FILE* pf = fopen("text.txt", "r");
	
	// 判断是否打开成功
	if (pf == NULL)
	{
		perror("fopen");
		return -1;
	}

	// 读出字符 - 读出一行
	char arr[10] = { 0 };
	fgets(arr, 7, pf);
	printf("%s\n", arr);

	// 关闭文件并置空
	fclose(pf);
	pf = NULL;

	return 0;
}

标签:文件,顺序,return,函数,读写,NULL,C语言,pf,fopen
From: https://blog.csdn.net/weixin_55341642/article/details/141612483

相关文章

  • C语言 - 各个进制之间的相互转换
    目录一、二进制1.二进制  >> 八进制2.二进制  >> 十进制3. 二进制 >> 十六进制二、八进制1.八进制  >> 二进制2.八进制  >> 十进制3.八进制  >> 十六进制三、十进制1.十进制  >> 二进制2.十进制  >> 八进制3.十进制  ......
  • IO进程练习:请在linux 利用c语言编程实现两个线程按照顺序依次输出”ABABABAB......“
    例如:a线程输出”A”之后b线程输出”B”,然后a线程输出“A”,再b线程输出”B”,之后往复循环。【1】使用信号量实现代码展示:#include<stdio.h>#include<pthread.h>#include<string.h>#include<semaphore.h>#include<unistd.h>//定义两个全局信号量,实现同步机制se......
  • C语言基础(二十八)
    1、冒泡排序: #include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//函数声明voidbubbleSort(int*arr,intn);int*createRandomArray(intn,int*size);intmain(){inttime=getTime();......
  • C语言基础(二十九)
    1、快速排序:#include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//函数声明voidquickSort(int*arr,intlow,inthigh);voidswap(int*xp,int*yp);voidprintArray(int*arr,intsize);intpar......
  • 卡尔曼滤波算法(c语言代码)
    卡尔曼滤波器是一种用于估计动态系统状态的算法,常用于信号处理、控制系统、机器人和导航等领域。以下是一个简单的卡尔曼滤波器的C语言实现示例。这个示例展示了如何使用卡尔曼滤波器来估计一维系统的状态。1.卡尔曼滤波器算法概述卡尔曼滤波器由两部分组成:预测和更新。基......
  • C语言文件相关函数
    目录一、引言二、文件函数概述  1.文件类型指针  2.常用文件函数三、文件函数使用详解  1.打开文件  2.关闭文件  3.写入文件  4.读取文件  5.二进制文件操作四、实战应用五、总结        本文将详细介绍C语言中文件函数的基本概念......
  • 【C语言进阶】C语言指针进阶实战:优化与难题解析
    ......
  • C语言基础(二十六)
    二叉树节点通常包含三个部分:存储数据的部分、指向左子节点的指针、以及指向右子节点的指针。测试代码:#include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//定义二叉树节点的结构,包括节点的值、指向左子节点的指针和指向右子节点的指针。t......
  • C语言基础(二十七)
    1、位字段(Bit-fields)也是一种数据结构,允许在结构体(struct)或联合体(union)中定义其成员占用特定的位数。对于需要精确控制内存布局或处理硬件寄存器映射等场景非常有用。位字段使得开发者能够定义小于一个字节的变量,从而更有效地利用内存空间。位字段的声明方式是在结构体或联合体......
  • 11.2 C语言文件的读写操作
    11.2C语言文件的读写操作11.2文件的读写操作11.2文件的读写操作文件的读写是文件处理中的核心操作,C语言提供了多种函数来实现从文件读取数据和向文件写入数据。文件的写操作写字符:fputc(c,fp);//将字符c写入文件写字符串:fputs(str,fp);//将字符......