C++基础(9)——文件操作

本文介绍了C++中对文件的操作,包括使用fgets和fputs读写文本文件,以及fread和fwrite处理二进制文件和结构体。示例代码展示了如何追加内容到文本文件,以及如何存储和读取结构体数据。此外,还提及了读写文本文件的不同方法和二进制文件的读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文主要介绍了C++中文件操作基本知识

5.1:C语言使用标准C库函数读写文件复习

fgets、fputs(读写文本文件)

int main(int argc, char *argv[])
{
    FILE *file;
    file = fopen("a.txt", "a+");
    if (file == NULL){
        perror("a.txt");
    }
    for(int i = 0; i < 5; i++){
        fputs("sarff\r\n", file);
    }
    fseek(file, 2, SEEK_SET);
    char c;
    c = fgetc(file);
    printf("%c\r\n", c);
    fclose(file);
    exit(0);
}

fread、fwrite(读写二进制文件、操作结构体)

typedef struct {
    char name[20];
    int id;
}student_info;

int main(int argc ,char *argv[])
{
    FILE *file;
    file = fopen("stu.dat", "wb+");
    if(file == NULL){
        perror("stu.dat");
    }
    student_info student[3] = {{"liming", 1}, {"sarff",2}};
    fwrite(student, sizeof(student_info), 3, file);
    student_info stu;
    fseek(file, 0 , SEEK_SET);
    fread(&stu, sizeof(student_info), 1, file);
    printf("Student name = %s\n", stu.name);
    fclose(file);
    exit(0);
}

5.2:读写文本文件

1:写文本文件

2:读文本文件

方法1:创建一个buf数组,然后通过ifs >> buf右移运算符进行写入

方法2:创建一个buf数组,调用isf.getline()方法,读取每一行

方法3:使用全局的getline方法,放到string类型的一个变量中

方法4:一个一个字符读,不推荐

5.3:读写二进制文件

1:写一个对象到文件中

 通过hexdump读取二进制文件的数据

2:二进制读文件

 3:读写一起

总结

以上就是本文的全部内容,非常感谢你能看到这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

门牙会稍息

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值