摘要
C实现将txt数据读入内存/CPU缓存的函数,不多说,实现如下。
1. 实现代码
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#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. 测试结果