【轉】用C語言實現將一個檔案讀入記憶體中(分享轉載)

canhui2009發表於2012-03-08

轉載自 phps
用C語言實現將一個檔案讀入記憶體中

/**
 * 用C語言實現將檔案讀入記憶體中
 * 作者:學無止境
 * QQ:339534039
 * 自己學習寫著的,歡迎大家交流
 * 程式中有可多地方可優化
 **/
#include <stdio.h>
#include <stdlib.h>
int filelength(FILE *fp);
char *readfile(char *path);
int main(void)
{
 FILE *fp;
 char *string;
 string=readfile("c:/c.c");
 printf("讀入完畢\n按任意鍵釋放記憶體資源\n");
 //printf("%s\n",string);
 system("pause");
 return 0;
 
}
char *readfile(char *path)
{
 FILE *fp;
 int length;
 char *ch;
 if((fp=fopen(path,"r"))==NULL)
 {
  printf("open file %s error.\n",path);
  exit(0);
 }
 length=filelength(fp);
 ch=(char *)malloc(length);
 fread(ch,length,1,fp);
 *(ch+length-1)='\0';
 return ch;
}
int filelength(FILE *fp)
{
 int num;
 fseek(fp,0,SEEK_END);
 num=ftell(fp);
 fseek(fp,0,SEEK_SET);
 return num;
}

寫了好長時間才實現的,完後才發現原來是如此簡單!!!

相關文章