C语言文件加密字节,下面是该题,请问有人帮助一下嘛

img


讲述要求字节二进制之间的取反11111111111111111111111111111111111111111

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *input_file, *output_file;
    input_file = fopen("stud.dat", "rb");
    if (input_file == NULL) {
        printf("Failed to open input file.\n");
        exit(1);
    }
    output_file = fopen("result.dat", "wb");
    if (output_file == NULL) {
        printf("Failed to open output file.\n");
        exit(1);
    }

    int byte_count = 0;
    unsigned char byte;
    while (fread(&byte, sizeof(byte), 1, input_file) == 1) {
        byte_count++;
        if (byte_count % 2 == 1) {
            byte ^= 0x0C;  // flip the middle 2 bits
        }
        fwrite(&byte, sizeof(byte), 1, output_file);
    }

    fclose(input_file);
    fclose(output_file);
    return 0;
}