gpt4 book ai didi

c++ - 如何正确设置 fwrite() 的大小和计数参数以写入一大块字节?

转载 作者:搜寻专家 更新时间:2023-10-31 01:45:57 24 4
gpt4 key购买 nike

<分区>

查看 fwrite(const void * ptr, size_t size, size_t count, FILE * stream) 的规范,我不确定在写入二进制数据时,size 参数和 count 参数到底是什么,即字节 block 。

我是否必须告诉 fwrite 写入 bufLen 大小为 1 的 block ,或者我应该告诉它写入 1 个大小为 bufLen< 的 block ?这些有更好的吗?它如何影响返回值?在发生错误的情况下,它如何影响行为?
如果我指定写入一个大小为 bufLen 的 block ,它是否总是写入完整数据或什么都不写入?

在代码中,它看起来像这样:

char* buf = ...;
int bufLen = ...;
FILE* file = ...;

/* alternative 1: */ int writtenByteCount = fwrite(buf, 1, bufLen, file);
/* alternative 2: */ int writtenByteCount = fwrite(buf, bufLen, 1, file);

printf("fwrite wrote %i of %i bytes/blocks", writtenByteCount, bufLen);

if (writtenByteCount < bufLen) {
// handle error
}

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