我正在尝试逐字节读取文件并将其写入另一个文件.我有这个代码:
if((file_to_write = fopen(file_to_read, "ab+")) != NULL){
for(i=0; i<int_file_size; i++){
curr_char = fgetc(arch_file);
fwrite(curr_char, 1, sizeof(curr_char), file_to_write);
}
}
Run Code Online (Sandbox Code Playgroud)
int_file_size我想要读取的字节数在哪里,arch_file是我正在读取的文件,并且curr_char是一个char指针.
但这不起作用.我在循环的第一次迭代中得到Segmentation fault(core dumped)错误.我很确定我的fwrite()语句有问题.任何帮助,将不胜感激.
你应该通过地址的curr_char,而不是curr_char本身:
fwrite(&curr_char, 1, sizeof(curr_char), file_to_write);
// ^------ Here
Run Code Online (Sandbox Code Playgroud)