读取文件到内存? [英] Read file into memory?
本文介绍了读取文件到内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我似乎可以只读文件到内存中,如果我明确声明的缓冲区大小。这适用
的#include<&stdio.h中GT;
诠释主(){
FILE *计划生育=的fopen(test.log中,RB);
字符缓冲区[37];
FREAD(缓冲,1,36,FP);
的printf(%S,缓冲区);
}
这将增加垃圾到输出
的#include<&stdio.h中GT;
诠释主(){
FILE *计划生育=的fopen(test.log中,RB);
fseek的(FP,0,SEEK_END);
长SIZ = FTELL(FP);
倒带(FP);
炭缓冲液[SIZ + 1〕;
FREAD(缓冲,1,SIZ,FP);
的printf(%S,缓冲区);
}
解决方案
插入缓冲[SIZ] ='\\ 0';
在的printf( %S,缓冲区);
I can seem to only read file into memory if I explicitly declare the buffer size. This works
#include <stdio.h>
int main(){
FILE *fp = fopen("test.log", "rb");
char buffer[37];
fread(buffer, 1, 36, fp);
printf("%s", buffer);
}
This will add junk to the output
#include <stdio.h>
int main(){
FILE *fp = fopen("test.log", "rb");
fseek(fp, 0, SEEK_END);
long siz = ftell(fp);
rewind(fp);
char buffer[siz + 1];
fread(buffer, 1, siz, fp);
printf("%s", buffer);
}
解决方案
insert buffer[siz]='\0';
before printf("%s", buffer);
这篇关于读取文件到内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文