0
텍스트 파일을 비트별로 두 개의 다른 파일로 분할하는 방법은 무엇입니까? 00001100 와 B는 다음과 같습니다 :비트 단위로 텍스트 파일을 두 파일로 분할하는 방법
0101010111110000
은 다음이 될 것 파일 : 파일 X 인 경우 나, 즉 B의 파일 A의 모든 짝수 비트와 모든 이상한 것들을 필요로 11111100
그런 다음 .txt 파일로 저장해야합니다. 그 후에 다시 합쳐야 X를 다시 얻을 수 있습니다.
나는 c를 사용하고있다. 개봉 코드 문자
에 의해
#include <stdio.h>
void printchar(unsigned char to_print)
{
unsigned char mask = 0x80;
for(int i = 0; i < 8; ++i)
{
if((mask & to_print) > 0)
{
printf("%d", 1);
}
else
{
printf("%d", 0);
}
mask = mask >> 1;
}
printf("\n");
}
void split(unsigned char * left, unsigned char * right, unsigned char input1, unsigned char input2)
{
unsigned char mask = 0x80;
for(int i = 0; i < 4; ++i)
{
(*left) |= ((input1 & mask) << i);
(*left) |= ((input2 & mask) >> (4-i));
mask = mask >> 1;
(*right) |= ((input1 & mask) << (i+1));
(*right) |= ((input2 & mask) >> (3-i));
mask = mask >> 1;
}
}
int main (int argc, const char * argv[])
{
unsigned char left = 0;
unsigned char right = 0;
unsigned char input1 = 0xA6;
unsigned char input2 = 0xB5;
split(&left, &right, input1, input2);
printchar(left);
printchar(right);
return 0;
}
코드 벽이 있으니 그게 뭐가 잘못 되었습니까? 그것을 컴파일하지 못하면 실행되면 불평없이 실행하지만 잘못된 일을 ...? –