uint8_t в строку, приводит к отсутствию вывода C++ (начинающий программист)
Я новичок в программировании, и я пытаюсь создать программу для Raspberry Pi на C++, я начал с программы, которая выводит UID на консоль, которая была эта
for(byte i = 0; i < mfrc.uid.size; ++i)
{
if(mfrc.uid.uidByte[i] < 0x10)
{
printf(" 0");
printf("%X",mfrc.uid.uidByte[i]);
}
else
{
printf(" ");
printf("%X", mfrc.uid.uidByte[i]);
}
}
Теперь я хотел изменить это, чтобы вывести строку, которая может быть вызвана другой программой. Поэтому я изменил код
stringstream list;
for(byte i = 0; i < mfrc.uid.size;++i)
{
list << (int)mfrc.uid.uidByte[i];
}
string s = list.str();
cout << s;
он компилируется нормально, однако программа ничего не делает, возможно, я использую неправильный подход, я искал stackru для ранее заданного вопроса, но я не могу найти то, что понимаю! хаха, спасибо за помощь
1 ответ
Вы написали:
stringstream list;
Так что я подозреваю, что у вас есть using namespace std;
где-то выше. Дело в том, std::list
существует и является типом. В оставшейся части вашей программы, когда вы пишете list
, это может быть std::list
который найден вместо Я не знаю, как это получится, но я уверен, что это не то, что вы думаете.
Вот почему using namespace std
считается плохой практикой. Dont.