gpt4 book ai didi

在C编程中收集8个字节到char

转载 作者:行者123 更新时间:2023-11-30 15:06:28 25 4
gpt4 key购买 nike

我有一个 .txt 文件仅包含 01像数据一样。我需要做的就是循环遍历文件,使用 << 收集无符号字符中的 8 位。运算符将每个位向上移动到位,然后将每个组装的字节写入 ASCII。

bit_files *tmp;
tmp = (bit_files *)malloc(sizeof(bit_files));
char a;
char byte;
FILE *first_file,*final_file;

first_file=fopen("file1","rb");
final_file=fopen("file2","wb");

tmp->bitCount = 0;

while (a=fgetc(first_file)!=EOF){
byte=tmp->bitBuffer<<=a;
tmp->bitCount++;
if (tmp->bitCount==8){
fputc(byte,final_file);
tmp->bitBuffer=0;
tmp->bitCount=0;
}
}
fclose(first_file);
fclose(final_file);

最佳答案

有一个错误

byte=tmp->bitBuffer<<=a;

您正在覆盖前一位的字节值...尝试这样的事情:

字节=字节| (tmp->bitBuffer<<=a);

关于在C编程中收集8个字节到char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com