В моем проекте есть Binary2String()
.
Хорошо работает долго. Но это исключение, когда vec[0] = 255
на sprintf(temp, "%02d ", vec[i]);
.
Оригинальный код как этот,
void Binary2String(const vector<unsigned char>& vec, string& result)
{
if(vec.size() == 0)
return;
for(size_t i = 0; i < vec.size(); i++)
{
char temp[4] = {0};
sprintf(temp, "%02d ", vec[i]);
result.push_back(temp[0]);
result.push_back(temp[1]);
result.push_back(temp[2]);
}
}
Затем я исправил ошибку, так как я не могу понять, что вектор и sprintf () завершены.
Это имеет смысл или нет? (Я новичок в C ++. Спасибо)
char temp[6] = {0};
sprintf(temp, "%02d ", vec[i]);
result.push_back(temp[0]);
result.push_back(temp[1]);
result.push_back(temp[2]);
result.push_back(temp[3]);
result.push_back(temp[4]);