0
ok 그래서 나는 Huffman 인코딩/디코딩 프로젝트 atm을 시도하고있다. 압축 작업을 모두하고 비트 스트링을 출력 파일에 바이트로 넣으려고했습니다. 그래서 샘플 코드를 작성하여 작은 예제로 테스트 해 보았습니다. 아래의 코드를 사용하면 처음 8 비트 ("11100011")를 출력 할 수 있지만 두 번째 때는 16 비트 ("110001010101010")가됩니다. 누군가 내가 잘못 갔다는 것을 암시 할 수 있습니까? 미리 감사드립니다.비트 스트링을 깨기 C++
감안할 때 : string bitstring = "11100011110001010101010"; 부호없는 char 바이트 = 0;
for (int i = 0; i < bitstring.length(); i += 8){
string stringof8 = "";
if (i + 8 < bitstring.length()){
stringof8 = bitstring.substr(i, 8);
cout << stringof8 << endl;
}
else{
stringof8 = bitstring.substr(i);
cout << stringof8 << endl;
}
}
system("pause");
저는 Visual Studio를 사용하고 있습니다.
* 수정 : 수정
와우 ... 예, 바보 같아요. 네, 그것을 고정 고정. (stringof8 = bitstring.substr (i, 8)). 감사합니다. davidc – ashep08
substr에 대한 다른 호출도 확인하십시오! – davidc