码迷,mamicode.com
首页 > 系统相关 > 详细

Linux c读取任意大小文件的所有数据

时间:2017-07-21 10:39:45      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:stdio.h   内存   int   文件的   搜索   文件读取   ==   date   pes   

代码如下,执行完之后被分配的动态内存的指针会保存到result中。由于是动态分配内存,读取内容不再使用之后注意用free 释放掉,如不明白,请多搜索以下动态内存分配的资料。

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <string.h>
#include <fcntl.h>

//从文件读取所有数据,并且保存到result中
//参数二:文件的位置
//返回值:成功返回1,失败返回0
int read_data(char **result,char *fileName)
{
    struct stat fileInfo;
    FILE *filePointer;
    char *fileDate;

    if((fileName==NULL)||(result==NULL))
    {
        return 0;
    }


    if(!(filePointer=fopen(fileName,"rb ")))
    {return 0;}

    stat(fileName,&fileInfo);

    fileDate=malloc(sizeof(char)*(fileInfo.st_size+1));

    fread(fileDate,sizeof(char),fileInfo.st_size,filePointer);

    fclose(filePointer);

    fileDate[fileInfo.st_size]=0;


    printf("\n%s\n",fileDate);
    *result=fileDate;
    return 1;

}

Linux c读取任意大小文件的所有数据

标签:stdio.h   内存   int   文件的   搜索   文件读取   ==   date   pes   

原文地址:http://www.cnblogs.com/thegodofthunder/p/7215876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!