bitt is a vector array of bools. i know they're non-standard (could anyone tell me how non-standard?) but it makes my life easier. essentially, there's a string of ones and zeros:Code:string to_string() { string temp; unsigned char x=0; for (int i=0;i<bitt.size();i++) { if (i%8==0 && i!=0) { temp+=x; x=0; } if (bitt[i]) x |= (unsigned char)pow(2,i); if (bitt[i]==0) x &= ~(unsigned char)pow(2,i); } temp+=x; return temp; }
0001001111011 etc
i want to parse them eight bits at a time, and combine them into one unsigned char to be later written to a string, and then to a file. later on i'm going to add three bits to the end to show how much of the packet is left at the end. in other words:
11111111 01010101 10111110 10: 010 is 2, meaning 3 8 bit packets (aka, bytes) and 2 bits left over. the left over bits will have zeros added to pad it up to a full byte.
11111111 01010101 10111110 10000000
for some reason the above code doesn't work. can anyone spot problems? thanks for your time