C 我正在尝试读取一个文件,并以%显示读取进度。我尝试了以下代码,但我无法将代码分成块&;显示进步
我试图读取一个文件,并以百分比显示读取进度。我已经尝试了下面的代码,但我无法将代码分成几块并显示进度。我应该如何显示进步C 我正在尝试读取一个文件,并以%显示读取进度。我尝试了以下代码,但我无法将代码分成块&;显示进步,c,C,我试图读取一个文件,并以百分比显示读取进度。我已经尝试了下面的代码,但我无法将代码分成几块并显示进度。我应该如何显示进步 printf("File contains %ld bytes!\n", fsize); buf = (char*) malloc (sizeof(char)*fsize); if (buf == NULL) { printf("Memory error!\n"); return 2; } else {
printf("File contains %ld bytes!\n", fsize);
buf = (char*) malloc (sizeof(char)*fsize);
if (buf == NULL) {
printf("Memory error!\n");
return 2;
}
else {
printf("Allocating memory!\n");
bytes_read = fread(buf, 1, fsize, pf);
printf("number of bytes read %1d",bytes_read);
下面是一个粗略的草稿,说明如何替换当前使用的
fread()
:
size_t numToRead = fsize;
char* bufPtr = &buf[0];
while ( numToRead > 0 )
{
int percentDone = 0;
size_t numSuccessful = fread( bufPtr, 1, 10000, pf ); // choose size
bufPtr += numSuccessful;
numToRead -= numSuccessful;
percentDone = ( 100 * ( fsize - numToRead ) / fsize );
// display percentage as you like
}
免责声明:我没有编译此代码段,因此请原谅拼写错误。这里没有问题。我将如何通过将其分块显示阅读进度?文件有多大,即fsize的值?文件可以是任何大小的任何文件。但现在假设它是889 mb的文件