文件读取的高级方法:Advanced method of reading files

1 · 0x4c2 · Oct. 21, 2020, 1:39 a.m.
读取二进制文件(任何文件都可以,本文以二进制为例),把二进制文件内容全部读取到char*字符串中。配合fseek()和fread()函数实现文件读取的高级方法。 需求 使用fwrite(dbdata, dblength, 1,fp)把字节流写入二进制文件。在新程序读取二进制文件遇到问题:二进制内容不能向文本一样行读取,也不知道二进制文件长度,在fread()函数中无从下手。 1.creat FILE pointer and set mode as 'rb' 1FILE *f = fopen(inputFN, "rb"); 2.check the FILE pointer is not null 1if (!f) { 2 fprintf(stderr, "ERROR: unable to open file \"%s\": %s\n", inputFN,strerror(errno)); 3 return NULL; 4} 3.use fseek/ftell to get data length fseek(f,0,SEEK_END) put the ...