나는 압축하는 프로그램을 만들려고합니다. 예를 들어 정규 8 비트 (char) 대신 1 또는 2 비트 만 쓰는 것은 우리가 쓰려고하는 char에 달려 있습니다. 나는 다음과 같이 써 보려고했다 :bin 파일에 단일 비트를 쓰는 방법
//I dont know what the function should return
char getBytes(char c)
{
return 0xff;
}
ofstream fout;
fout.open("file.bin", ios::binary | ios::out);
fout << getBytes(c);
그러나 지금까지는 글자 만 쓰고있다. 그래서 어떻게 쓸 수 있습니까 : '01'? 또는 '1'만? 바이트로만 파일에 쓰기 위해 사용해야하는 함수는 무엇입니까? 감사.
특정 비트를 작성해야 할 경우 바이트로 버퍼링하고 8 비트로 채워진 바이트를 기록해야합니다. – Joe
비트를 쓰고 싶은 * 바이트 * 오프셋으로 이동하여 기존 바이트를 수정하고 원하는대로 비트를 수정 한 다음 같은 위치에 다시 바이트를 씁니다. –