• linux应用之文件读取


    文章目录

    常见函数

    1)fopen()函数
    原型

    FILE *fopen(const char *filename, const char *mode);
    
    • 1

    参数filename指定要打开的文件名,mode指定打开文件的模式(如只读、只写、追加等)。函数返回一个指向FILE类型的指针,如果打开文件失败则返回NULL。

    下面是一些常用的文件打开模式:
    “r”:以只读方式打开文件。
    “w”:以只写方式打开文件,如果文件不存在则创建,如果文件已存在则清空文件内容。
    “a”:以追加方式打开文件,如果文件不存在则创建,如果文件已存在则在文件末尾追加内容。
    “r+”:以读写方式打开文件,文件必须存在。
    “w+”:以读写方式打开文件,如果文件不存在则创建,如果文件已存在则清空文件内容。
    “a+”:以读写方式打开文件,如果文件不存在则创建,如果文件已存在则在文件末尾追加内容。

    2)fclose()函数
    原型

    int fclose(FILE *stream);
    
    
    • 1
    • 2

    参数stream是指向要关闭的文件的指针。函数返回0表示成功关闭文件,返回非零值表示关闭文件失败。

    3)fread()函数
    原型

    size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
    
    • 1

    参数说明:

    ptr:指向要存储读取数据的缓冲区的指针。
    size:指定每个数据块的字节数。
    count:指定要读取的数据块数。
    stream:指向打开的文件的指针。
    函数返回实际读取的数据块数,如果读取失败或遇到文件结束则返回0。

    4)fgets()函数

    原型

    char *fgets(char *str, int n, FILE *stream);
    
    • 1

    参数说明:

    str:指向要存储读取数据的字符数组的指针。
    n:要读取的最大字符数(包括最后的空字符’\0’)。通常,这个数值与str分配的大小相同。
    stream:输入流,通常是一个打开的文件指针。
    函数返回值:

    如果成功读取了一行数据,则返回指向str的指针。
    如果遇到文件结束或读取错误,则返回NULL。

    4)fseek()函数

    int fseek(FILE *stream, long offset, int whence);
    
    • 1

    参数说明:

    stream:指向要操作的文件的指针。
    offset:表示相对于whence参数指定的位置的偏移量,可以是正数或负数。
    whence:指定位置指针的起始位置,可以是以下值之一:
    SEEK_SET:从文件开头开始计算偏移量。
    SEEK_CUR:从当前位置开始计算偏移量。
    SEEK_END:从文件末尾开始计算偏移量。
    函数返回值:

    如果成功设置位置指针,则返回0。
    如果出现错误,则返回非零值。

    例程

    #include   
      
    int main() {  
        FILE *file;  
        char buffer[100];  
      
        // 打开文件  
        file = fopen("example.txt", "r");  
        if (file == NULL) {  
            printf("无法打开文件\n");  
            return 1;  
        }  
      
        // 将位置指针移到文件开头  
        fseek(file, 0, SEEK_SET);  
      
        // 读取文件内容并打印  
        fread(buffer, sizeof(char), sizeof(buffer), file);  
        printf("%s", buffer);  
      
        // 关闭文件  
        fclose(file);  
      
        return 0;  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    上述示例代码使用了fseek函数将位置指针移到文件的开头,然后使用fread函数一次性读取文件内容并存储到缓冲区中。最后,将缓冲区的内容打印到控制台上,并使用fclose函数关闭文件。

  • 相关阅读:
    华为“天才少年” DIY 生日礼物:四个月打造能缝葡萄的机械臂!
    关于二级页表的引入
    Python 实现获取【昨天】日期
    【Python 2】列表 模式匹配 循环 dict set 可变对象与不可变对象
    【分布式任务调度】(一)XXL-JOB调度中心集群部署配置
    世上最全NVDIA GPU参数列表: 3090,4090, A40, A30,V100, A100, A800性能参数
    flutter doctor检测环境,出现CocoaPods installed but not working
    unittest 统计测试执行case总数,成功数量,失败数量,输出至文件,生成一个简易的html报告带饼图
    图数据库:释放关系的力量
    cuda在ubuntu的安装使用分享
  • 原文地址:https://blog.csdn.net/techenliu/article/details/133320028