字符串拼接后运行报错。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int saveImageCount = 123;
int rtkEventCount = 123;
string strSend ="{\n\t" "\"imageCount\"" + ':' + std::to_string(saveImageCount) + ',' + "\n\t" +
"\"rtk-eventCount\"" + ':' + std::to_string(rtkEventCount) + ',' + "\n" + "}";
cout << strSend << endl;
return 0;
}
运行如下:
$ ./manual-json
_M_construct null not valid123,
"rtk-eventCount":123,
}
修复:
用变量替换 "\"imageCount\"" 。
int main()
{
int saveImageCount = 123;
int rtkEventCount = 123;
string image = "imageCount";
string strSend ="{\n\t\"" + image + "\":" + std::to_string(saveImageCount) + ',' + "\n\t" +
"\"rtk-eventCount\"" + ':' + std::to_string(rtkEventCount) + ',' + "\n" + "}";
cout << strSend << endl;
return 0;
}
运行如下:
$ ./manual-json
{
"imageCount":123,
"rtk-eventCount":123,
}