c++ - uint8_t 转为字符串,导致无输出 C++(初级程序员)
问题描述
我是编程的初学者,我正在尝试用 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;
它编译得很好但是程序没有任何东西,也许我采取了错误的方法,我已经在stackoverflow中查看了以前提出的问题,但我似乎找不到我理解的东西!哈哈,谢谢帮助
解决方案
你写了:
stringstream list;
所以我怀疑你using namespace std;
上面有一个地方。事物是,std::list
存在并且是一种类型。在程序的其余部分中,当您编写 时list
,它可能会std::list
被找到。我不知道结果如何,但我相信这不是你想的那样。
这就是为什么using namespace std
被认为是不好的做法。不。
推荐阅读
- angular - Angular6:“ERROR OK”默认错误记录器
- asp.net-mvc-5 - 如何在 Asp.net-mvc5 中使用 Session 显示图像?
- javascript - 请求成功后不久发生 XMLHTTPRequest Network Error 的原因是什么?
- protractor - 如何选择量角器中的复选框?(具体情况下的问题)
- django - 获取选择选项数据的问题
- git - 蒙蒂塞洛,是否可以同时保存在更多存储库中?
- javascript - Laravel 验证表中的唯一值以放入错误函数(js)
- gojs - 如何在 GOJS-Floorplanner 中移动单个墙时将连接的墙一起移动
- mongodb - Mongodb - 根据其他字段值添加额外字段
- android - 如何将 AudioRecord 类中识别的语音保存在文件中?