2 つのファイルを比較し、ファイル 2 とは異なるファイル 1 のすべてのバイトを 3 番目のファイルに書き込むプログラムを作成したいと思います。ファイルをバイトごとに比較し、異なる 1 バイトを 3 番目のファイルに書き込みます。私はファイル I/O にあまり詳しくありません。このタスクを実行するプログラムの例を誰か教えてもらえますか?
これは私がこれまでに持っているものです:
int main(int argc, char *argv[]) {
int file1, file2, file1size, file2size;
// int difference1, difference2;
char buf;
if (argc != 3){
fprintf(stderr, "Usage %s <file1> <file2>", argv[0]);
exit(1);
}
if ((file1 = open(argv[1], 0400)) < 0) { //read permission for user on file source
fprintf(stderr, "Can't open source");
exit(1);
}
if ((file2 = open(argv[2], 0400)) < 0) { //read permission for user on file source
fprintf(stderr, "Can't open source");
exit(1);
}
file1size = lseek(file1, (off_t) 0, SEEK_END);
printf("File 1's size is %d\n", file1size);
file2size = lseek(file2, (off_t) 0, SEEK_END);
printf("File 2's size is %d\n", file2size);
}
file1 と file2 のバイトを比較して、違いを別のファイルに書き込む方法がわかりません。