比方说,我有这样的使用FREAD和FSEEK
一个文本文件,这是一个文本文件,其中包含一些数字阅读文本文件中的字符的具体数量。
所以我想用fseek和fread来读取文本文件的某些部分。 例如,从位置0到13,我会得到“这是一个文本”。 然后从位置14到24,我会得到“文件”,然后从位置25到文件结尾,我会得到“包含一些数字”。
我试过使用fseek和fread,但我有一些额外的奇怪的字符,如“这是一个文本?”
我尝试使用FSEEK和FREAD:
src = fopen(textfile, "r");
int chunksize = data[i].end - data[i].start;
char *buffer = malloc(sizeof(chunksize));
seek(src, data[i].start, SEEK_SET);
fread(buffer, 1, chunksize, src);
fseek(src, 0, SEEK_SET); // seek back to beginning of file
其中data[i].start
是起始位置读取到的部分和data[i].end
是结束位置停止。例如,从14日到24日,我会得到“文件”。开始是14和结束是25
'的malloc(的sizeof(CHUNKSIZE))'是错误的 - '的sizeof(CHUNKSIZE)==的sizeof(int)的'是编译时常量。删除'sizeof'。你需要显示你用来显示数据的代码,以及(暗示)你是如何终止它的。 – Mat 2014-10-11 20:15:12
而且,除了Mat的注释,还提供了您正在使用的输入文件。 – ryyker 2014-10-11 20:17:10