Quote:
Originally Posted by Kingrap
i have:
Code:
std::string login_packet;
for(int i=0;i<225;i++){
login_packet = recvbuf[i] - 15 ^ 195;
login_packet = Replace(login_packet,"~","");
}
std::cout << login_packet;
but login_packet = "";
|
Well, you set the string to the current char in the buffer.
login_packet = recvbuf[0]; //packet = "N"
login_packet = recvbuf[1]; //packet = "o"
login_packet = recvbuf[2]; //packet = "S"
...
login_packet = recvbuf[254]; //packet = "" - recvbuf[i] is probably 0
Quote:
Originally Posted by Kingrap
while..
Code:
std::string login_packet;
for(int i=0;i<225;i++){
login_packet = recvbuf[i] - 15 ^ 195;
login_packet = Replace(login_packet,"~","");
std::cout << login_packet;
}
login_packet = "NoS0575 ...";
|
See above. You set the string to the current char in the buffer and then you print it.
login_packet = recvbuf[0];
std::cout << login_packet; //N
login_packet = recvbuf[1];
std::cout << login_packet; //o
login_packet = recvbuf[2];
std::cout << login_packet; //S
You can fix this by pushing each char back to the packet.
login_packet.push_back(recvbuf[i] - 15 ^ 195);
Then you can print out the entire string at once.