c语言简单实现文件 r/w 操作方法

 更新时间:2021年05月18日 10:24:57   作者:会飞的佩琪  
由于在 C 语言中 '\' 一般是转义字符的起始标志,故在路径中需要用两个 '\' 表示路径中目录层次的间隔,也可以使用 '/' 作为路径中的分隔符,本文重点给大家介绍用c语言简单实现文件 r/w 操作方法,感兴趣的朋友一起学习吧

数据的输入和输出几乎伴随着每个 C 语言程序,所谓输入就是从“源端”获取数据,所谓输出可以理解为向“终端”写入数据。这里的源端可以是键盘、鼠标、硬盘、光盘、扫描仪等输入设备,终端可以是显示器、硬盘、打印机等输出设备。在 C 语言中,把这些输入和输出设备也看作“文件”。

文件及其分类

计算机上的各种资源都是由操作系统管理和控制的,操作系统中的文件系统,是专门负责将外部存储设备中的信息组织方式进行统一管理规划,以便为程序访问数据提供统一的方式。

文件是操作系统管理数据的基本单位,文件一般是指存储在外部存储介质上的有名字的一系列相关数据的有序集合。它是程序对数据进行读写操作的基本对象。在 C 语言中,把输入和输出设备都看作文件。

文件一般包括三要素:文件路径、文件名、后缀。

由于在 C 语言中 '\' 一般是转义字符的起始标志,故在路径中需要用两个 '\' 表示路径中目录层次的间隔,也可以使用 '/' 作为路径中的分隔符。

下面给大家介绍C语言的文件读写操作

直接上代码:

#include<stdio.h>

//1.创建一个文件file 
FILE* createFile(const char* path)
{
	FILE* file = fopen(path,"w");
	return file;
} 

//2. 把buffer中的内容写入file 
void fileWrite(FILE* file)
{
	const char *buffer = "aabbccddeeff";
    size_t len = fwrite(buffer,1,12,file);
	if(len > 0)
	{
		printf("write to file sucess! %zu\n", len);
		fclose(file);
	}
}

//3.把刚才写过的文件内容读到ch中
void fileRead(const char* path)
{
	FILE* file_writed = fopen(path,"r");
	char ch[20]={0};
	size_t len = fread(ch, 1, 12, file_writed);
	if(len>0)
	{
		printf("read data size: %zu\n", len);
		printf("read data: %s\n", ch);
		fclose(file_writed);	
	}
}


int main()
{
	FILE* file = createFile("./test.txt");
	if(file)
	{
		printf("create file sucess!\n");
	}
	
	fileWrite(file);
	
	fileRead("./test.txt");
	
	return 0;
} 

test.txt里的内容为:

aabbccddeef

output:

create file sucess!
write to file sucess! 12
read data size: 12
read data: aabbccddeeff

--------------------------------
Process exited after 0.0432 seconds with return value 0
请按任意键继续. . .

以上就是用c语言简单实现文件 r/w 操作的详细内容,更多关于c语言文件 r/w 操作的资料请关注脚本之家其它相关文章!

相关文章

  • C语言自动生成enum值和名字映射代码

    C语言自动生成enum值和名字映射代码

    这篇文章主要介绍了C语言自动生成enum值和名字映射代码的相关资料,需要的朋友可以参考下
    2015-12-12
  • C\C++实现读写二进制文件的方法详解

    C\C++实现读写二进制文件的方法详解

    这篇文章主要为大家详细介绍了C\C++实现读写二进制文件的方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2023-03-03
  • C++报错 XX does not name a type;field `XX’ has incomplete type的解决方案

    C++报错 XX does not name a type;

    这篇文章主要给大家介绍了C++报错 XX does not name a type;field `XX’ has incomplete type解决方案,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2023-08-08
  • C语言实现C++继承和多态的代码分享

    C语言实现C++继承和多态的代码分享

    本文主要给大家简单讲诉了C和C++的区别以及如何使用C语言模拟实现C++继承和多态,并附上示例代码,是篇相当不错的文章,推荐给喜欢C语言的小伙伴们
    2017-07-07
  • c语言实现词频统计的简单实例

    c语言实现词频统计的简单实例

    下面小编就为大家带来一篇c语言实现词频统计的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • C++中LibCurl库使用流程及配置详解

    C++中LibCurl库使用流程及配置详解

    libcurl是一个跨平台的开源网络传输库,它支持许多协议,包括HTTP、HTTPS、FTP、FTPS以及许多其他协议和文件传输方式,本文给大家详细介绍了C++中LibCurl库使用流程及配置,需要的朋友可以参考下
    2024-02-02
  • 基于VC中使用ForceInclude来强制包含stdafx.h的解决方法

    基于VC中使用ForceInclude来强制包含stdafx.h的解决方法

    本篇文章是对VC中使用ForceInclude来强制包含stdafx.h的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • QT中在QLabel显示图片并且利用鼠标点击画线问题

    QT中在QLabel显示图片并且利用鼠标点击画线问题

    这篇文章主要介绍了QT中在QLabel显示图片并且利用鼠标点击画线问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C++实现从数组中同时取出最大最小元素算法示例

    C++实现从数组中同时取出最大最小元素算法示例

    这篇文章主要介绍了C++实现从数组中同时取出最大最小元素算法,结合具体实例形式分析了C++通过数组的遍历、排序获取最大与最小元素的相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • 浅谈C++不同继承之间的关系

    浅谈C++不同继承之间的关系

    本文主要介绍了浅谈C++不同继承之间的关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论