C语言实现txt数据读入内存/CPU缓存实例详解

摘要

C实现将txt数据读入内存/CPU缓存的函数,不多说,实现如下。

1. 实现代码

#include "stdafx.h" 
#include <stdio.h> 
#include <stdlib.h> 
 
int filelength(FILE *fp); 
char *readfile(char *path); 
 
 
int main(void){ 
  char *string; 
 
  string=readfile("C:/Users/Joe WANG/Desktop/Data.txt"); 
  printf("数据读入内存完毕! \n"); 
  printf("内存中的数据如下:\n%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)='\0'; 
   
  return ch; 
} 
 
int filelength(FILE *fp){ 
  int num; 
   
  fseek(fp,0,SEEK_END); 
  num=ftell(fp); 
  fseek(fp,0,SEEK_SET); 
   
  return num; 
} 

2. Data.txt中的源数据

3. 测试结果