Gdybym miał bufor jak:Pierwsze bufor do stringstream w reprezentacji hex:
uint8_t buffer[32];
i został wypełniony całkowicie z wartościami, jak mogę dostać go w stringstream w reprezentacji szesnastkowej, z 0-padding na małych wartościach?
Próbowałem:
std::stringstream ss;
for (int i = 0; i < 32; ++i)
{
ss << std::hex << buffer[i];
}
ale kiedy biorę ciąg z stringstream, mam problem: bajty o wartościach < 16 ma tylko jeden znak do reprezentowania, a chciałbym je mieć 0 wyściełane.
Na przykład, jeżeli bajty 1 i 2 w tablicy były {32} {4} moja stringstream musiałaby:
204 instead of 2004
Czy mogę zastosować formatowanie do stringstream dodać 0-dopełnienie jakoś? Wiem, że mogę to zrobić z sprintf, ale strumienie są już wykorzystywane do wielu informacji i byłoby to wielką pomocą, aby jakoś to osiągnąć.
Dlaczego umieściłeś "poprawnie" w tytule? Czy uważasz, że w przeciwnym razie otrzymasz tylko właściwą odpowiedź? Tytuły powinny być zwięzłe i znaczące ... –
Tam, zabiłem słowo dla ciebie: p –