美文网首页
文件读写1

文件读写1

作者: 李永开 | 来源:发表于2021-07-19 08:52 被阅读0次
//
//  main.c
//  cdemo
//
//  Created by liyongkai on 2021/6/6.
//

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>


//获取文件行数
int getFileLines(FILE *file) {
    if (NULL == file) return -1;
    
    int lines = 0;
    char buffer[1024] = {0};
    while(fgets(buffer, 1024, file) != NULL) {
        lines ++;
    }
    return lines;
}

//读取数据
void readDataFromFile(FILE *file, int lines, char** contents) {
    if (NULL == file) return;
    if (lines <= 0) return;
    if (NULL == contents) return;
    
    char buffer[1024] = {0};
    int i = 0;
    while (fgets(buffer, 1024, file) != NULL) {
        unsigned long lineLen = strlen(buffer) + 1;
        char *lineP = malloc(lineLen * sizeof(char *));
        strcpy(lineP, buffer);
        contents[i++] = lineP;
//        printf("%s\n",buffer);
    }
}

//打印文本内容
void showContent(char **contents, int lines) {
    for (int i = 0; i < lines; i ++) {
        printf("%s", contents[i]);
    }
}

//释放
void freeFileSpace(char **contents, int lines) {
    for (int i = 0; i < lines; i ++) {
        if (contents[i] != NULL) {
            free(contents[i]);
        }
    }
    
    free(contents);
    contents = NULL;
}

int main(int argc, const char * argv[]) {
    FILE *file = fopen("/Users/LYK/Desktop/cdemo/cdemo/test.txt", "r");
    if (NULL == file) {
        printf("打开文件失败\n");
    }
    
    int lines = getFileLines(file);
    fseek(file, 0, SEEK_SET);//恢复文件指针到文件开始部分
    char **contents = malloc(lines * sizeof(char*));
    
    //读取文件
    readDataFromFile(file, lines, contents);
    
    //关闭文件
    fclose(file);
    file = NULL;
    
    //打印文件
    showContent(contents, lines);
    
    //释放文件数据
    freeFileSpace(contents, lines);
}


相关文章

  • Python 学习笔记6 2018-04-13

    文件操作: 1,文件的读写操作 2,文件的各种系统操作 3,存储对象 1,文件的读写操作 读写数据: ...

  • 用Python实现磁盘IO操作全攻略,让数据流动起来!

    01 文件读写 1. 打开文件 读写文件是最常见的IO操作。Python内置了读写文件的函数,方便了文件的IO操作...

  • 2018-04-05

    文件与文件路径读写文件用shelve模块保存变量 1 python 读写文件 1.1 文件与文件路径 window...

  • 文件读写1

  • 读写文件1

    //读写分为顺序读写(从文件开始读写)和随机读写(比如定位文件指示器后读取第1000个字节位置的字符) //***...

  • IO流

    1. 了解IO 2. 创建文件 3. 读写文件内容 RandomAccessFile类读写文件 ...

  • python 学习笔记 023

    本节内容:文件读写 文件读写的方法和C兼容,通过文件描述符修改文件 1.读取文件 过程:1、打开文件2、读文件内容...

  • python文件读写

    1. 一般的读写文件方法 读取文件 写文件: 2. numpy读写文件 savetxt( ) 和 loadtxt(...

  • 文件读写

    1.文件读写

  • 014.Python文件读写

    Python文件读写 1. 概述 读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。...

网友评论

      本文标题:文件读写1

      本文链接:https://www.haomeiwen.com/subject/fsocpltx.html