C 创建有错误的文件
我的问题是我应该如何处理文件,以便在fwrite时出错(fwrite中的其他参数是正确的)。如果文件将设置为只读属性,该怎么办C 创建有错误的文件,c,file,C,File,我的问题是我应该如何处理文件,以便在fwrite时出错(fwrite中的其他参数是正确的)。如果文件将设置为只读属性,该怎么办 FILE *pFile = NULL; pFile = fopen(path, "wb"); if (!pFile) { return RET_FILE_OPEN_ERROR; } //ba is OK result = fwrite(ba->buf, sizeof(uint8_t), ba->len, pFile); if (result != ba-&
FILE *pFile = NULL;
pFile = fopen(path, "wb");
if (!pFile) {
return RET_FILE_OPEN_ERROR;
}
//ba is OK
result = fwrite(ba->buf, sizeof(uint8_t), ba->len, pFile);
if (result != ba->len) {
fclose(pFile);
return RET_FILE_WRITE_ERROR;
}
如果您只想要一个错误(也就是说,您不在乎是哪一个),最简单的错误(在Linux上)是EFBIG
。使用setrlimit(RLIMIT\u FSIZE,…)
限制文件的最大大小。不要忘记捕捉SIGXFZ
信号
在Windows上,您可以使用磁盘配额
另一种方法是创建一个非常小的环回设备(或Windows上的VHD),并享受“设备上没有剩余空间”错误。您是在尝试生成错误,还是询问如何处理发生的错误?我想她想让
fwrite
测试失败。将文件设置为只读将在fopen
中失败,因此无法工作。您介意发布一个包含所有必需的结构和变量声明的文件吗?如果@rustyx对问题目的的理解是正确的,那么您可以fopen
文件,例如,1)共享位置,2)-usb/软盘驱动器,然后1)关闭该共享或2)从计算机中卸下usb/软盘驱动器,然后执行“写入”