使用fwrite()在C中逐字节写入文件

Ari*_*edi 5 c linux

我正在尝试逐字节读取文件并将其写入另一个文件.我有这个代码:

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()语句有问题.任何帮助,将不胜感激.

das*_*ght 8

你应该通过地址curr_char,而不是curr_char本身:

fwrite(&curr_char, 1, sizeof(curr_char), file_to_write);
//     ^------ Here
Run Code Online (Sandbox Code Playgroud)