C语言 文件操作1--二进制文件与文本文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 文件操作1--二进制文件与文本文件相关的知识,希望对你有一定的参考价值。

//写文件两种方式(文本文件和二进制文件)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void readtxt(char *path){//传入文件地址
    //定义文件指针
    FILE *pf;
    //以文本方式读取使用r;以二进制方式读取使用rb
    pf = fopen(path, "rb");
    //定义一个字符
    char ch;
    //读取一个元素
    fread(&ch, 1, 1, pf);
    //fread(缓冲数组地址,数组元素大小1个字节,每次读取1个元素,文件指针
    while (!feof(pf)){//没有读取到文件末尾就继续
        printf("%c",ch);
        //继续读取下一个元素
        fread(&ch, 1, 1, pf);
    }
    //关闭文件指针
    fclose(pf);
}


void main(){
    char str[50] = "我自狂刀向天笑,去留肝胆两昆仑!\n世人皆醉我独醒";
    //定义文本文件指针
    FILE *pfw;
    //定义二进制文件指针
    FILE *pfb;
    //写一个文本文件
    char pathw[40] = "E:\\Look\\w.txt";
    char pathb[40] = "E:\\Look\\b.txt";
    //一:文本模式
    //打开文件
    //w--写文件,如果没有,系统会创建一个,但是r--读文件,如果没有,文件指针就是NULL
    pfw = fopen(pathw, "w");
    if (pfw != NULL)
    {
        //文件打开成功
        //将字符串写入txt中
        fwrite(str,1,50,pfw);
        //fwrite(数组首地址,数组元素大小1个字节,一共有50个元素,文件指针)
    }
    else{
        //文件打开失败
        printf("文件打开失败\n");
    }
    //关闭文件指针
    fclose(pfw);

    //二:二进制模式
    //打开文件
    pfb = fopen(pathb, "wb");//区别,这是使用wb
    if (pfb != NULL)
    {
        //文件打开成功
        //将字符串写入txt中
        fwrite(str, 1, 50, pfb);
        //fwrite(数组首地址,数组元素大小1个字节,一共有50个元素,文件指针)
    }
    else{
        //文件打开失败
        printf("文件打开失败\n");
    }
    //关闭文件指针
    fclose(pfb);
    printf("\n打印出文件\n");
    readtxt(pathb);

    //展示文件
    system("pause");
}

技术分享

以上是关于C语言 文件操作1--二进制文件与文本文件的主要内容,如果未能解决你的问题,请参考以下文章

c语言如何进行二进制文件的操作?

C 语言文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

正确使用c语言文件操作函数

C语言如何实现拷贝图片?几行代码即可搞定

C语言文件操作详解

C语言文件操作详解