C++自学笔记35(文件操作)

讲解常见文件操作函数

fopen

cpp 复制代码
FILE* fp = fopen(char const* _FileName,char const* _Mode)

第一个参数:文件名,字符串表示

第二个参数:文件打开模式3种

1.rb(read birary):读文件。如果文件名的文件不存在,返回NULL

2.wb(write birary):写文件。如果文件名的文件不存在,创建新文件;如果文件名的文件存在,覆盖这个文件。

3.ab(append birary):追加文件。如果文件名的文件不存在,创建新文件;如果文件名的文件存在,什么都不发生。

函数返回值:文件句柄

cpp 复制代码
#include <stdio.h>
mian()
{
    FILE* fp = fopen("wenjian1","wb");
    if(fp==NULL)
    {
        printf("文件打开失败\n");
        return -1;
    }
    printf("文件打开成功\n");
    return 0;
}

fclose

cpp 复制代码
fclose(fp);

int fclose(FILE* _Stream);

第一个参数:文件名

操作文件后需要关闭文件,系统会默认关闭文件。

fwrite

cpp 复制代码
size_t fwrite(void const*------Buffer,size_t ElementSize,size_t _ElementCount,FILE* _Stream);

第一个参数:写入的数据

第二个参数:写入的大小

第三个参数:写入次数

第四个参数:写到哪个文件里(文件以wb打开)

返回值:写入成功的次数,和第三个参数相关。

cpp 复制代码
fwrite("123456",3,1,fp);

用vs方式打开

文件内显示123

就是我们将空白文件写入了123

cpp 复制代码
fwrite("123456",3,2,fp);

写入的不是123123而是123456,写入次数指的是按照3这个大小从写入的数据里取几次。

fread

cpp 复制代码
size_t fread(void*_Buffer,size_t ElementSize,size_t _ElementCount,FILE* _Stream);

第一个参数:读出的数据

第二个参数:读出的大小

第三个参数:读出次数

第四个参数:读哪个文件里(文件以wb打开)

返回值:读出成功的次数,和第三个参数相关。

cpp 复制代码
int x;
int ret = fread(&x,1,sizef(x),fp);
printf("x:%d  ret:%d\n",x,ret);

x:123 ret:4

fp文件我们写入了123,ret表示返回值我们成功读了四次。

rewind

cpp 复制代码
rewind(fp);

第一个参数:文件名。

清除标准输入的按键缓冲区。

相关推荐
Auc24几秒前
OJ判题系统第6期之判题逻辑开发——设计思路、实现步骤、代码实现(策略模式)
java·开发语言·docker·容器·策略模式
向日葵xyz6 分钟前
Qt5与现代OpenGL学习(十一)OpenGL Widget鼠标控制直线旋转
开发语言·qt·学习
智慧地球(AI·Earth)10 分钟前
OpenAI for Countries:全球AI基础设施的“技术基建革命”
开发语言·人工智能·php
不学无术の码农13 分钟前
《Effective Python》第1章 Pythonic 思维总结——编写优雅、高效的 Python 代码
开发语言·python
lwewan20 分钟前
26考研——中央处理器_指令执行过程(5)
笔记·考研
双叶8361 小时前
(C语言)超市管理系统(测试版)(指针)(数据结构)(二进制文件读写)
c语言·开发语言·数据结构·c++
不知名小菜鸡.1 小时前
记录算法笔记(2025.5.13)二叉树的最大深度
笔记·算法
PXM的算法星球1 小时前
使用CAS操作实现乐观锁的完整指南
开发语言
TDengine (老段)1 小时前
基于 TSBS 标准数据集下 TimescaleDB、InfluxDB 与 TDengine 性能对比测试报告
java·大数据·开发语言·数据库·时序数据库·tdengine·iotdb
格林威1 小时前
Baumer工业相机堡盟工业相机的工业视觉是否可以在室外可以做视觉检测项目
c++·人工智能·数码相机·计算机视觉·视觉检测