공부/C++
0과 1로 이루어진 string을 bit로 파일쓰기
0과 1로 이루어진 string(예를들면 "011011011100")을 ofstream binary mode로 그냥 쓰면 bit로 들어가지 않는다. 이 때 bitset STL을 사용하여 bit 단위로 쓸 수 있다. 해결 방법 string을 8개 단위로 나눈다. (8개로 나누고 남은 string은 뒷부분을 0으로 채워서 8개로 맞춘다.) 1에서 8개 단위로 나눠진 string을 각각 bitset에 담는다. bitset에 담긴 8개의 bit들을 unsigned long으로 변환한다. (bits.to_ulong()) 3에서 구해진 unsigned long에 해당하는 char형(1byte=8bits)을 파일에 쓴다. #include void writeBin(ofstream& fout, string str) { ..