gpt4 book ai didi

c - 读取 64kb block 中的文件

转载 作者:行者123 更新时间:2023-12-04 05:40:44 24 4
gpt4 key购买 nike

我想创建一个将文件复制到某个位置的函数。我想知道天气以 64kb 块读取它会有益吗?或者我应该动态分配缓冲区?还是我应该只使用 system() 函数在命令行上执行此操作?

我的意思是这样的:

int copy_file(const char *source, const char *dest)
{
FILE *fsource, *fdest;
int readSize;
unsigned char buffer[64*1024]; //64kb in size

fsource = fopen(source, "rb");
fdest = fopen(dest, "wb");
if(!fsource)
return 0;
if(!fdest)
{
fclose(fsource);
return 0;
}

while(1)
{
readSize = fread(buffer, 1, sizeof(buffer), fsource);
if(!readSize)
break;
fwrite(buffer, 1, readSize, fdest);
}

fclose(fsource);
fclose(fdest);
return 1;
}

最佳答案

最佳读取大小将非常依赖于平台。 2 的幂绝对是一个好主意,但如果没有测试,很难说哪个尺寸最好。

如果想看cp是如何拷贝文件的,可以看bleeding edge source code

关于c - 读取 64kb block 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com