高分求大神 C语言数据结构 用行编辑存入了数据 怎么在程序中再把写好的文件读入内存区并输出显示?

2025-06-24 08:22:33
推荐回答(1个)
回答1:

//显示文件内容
void ShowFile(char *path){
FILE* fp = fopen(path,"r");
if(NULL==fp){
printf("打开文件失败!\n");
return;
}

char buf;
do{
buf = fgetc(fp);
printf("%c",buf!=EOF?buf:'\n');
}while(buf!=EOF); 

fclose(fp);
}

//注意缓冲区长度问题,文件长度大于缓冲区长度时,会导致运行时崩溃

//读取文件至缓冲区,仅限于文本格式
void ReadFile(char *path,char *buf){
FILE* fp = fopen(path,"r");//文本格式,用于处理二进制文件时将会出错
if(NULL==fp){
printf("打开文件失败!\n");
return;
}

int CurrLen,Index;
Index = CurrLen = fread(buf,1,1024*sizeof(char),fp);

while(CurrLen){
CurrLen = fread(buf+Index,1,1024*sizeof(char),fp);
Index += CurrLen;
}

buf[Index] = 0;

fclose(fp);
}