问题:
输入:
string temp1(row[0]);
string temp2(row[1]);
users[temp1] = temp2;
LOG_INFO("users:%s,password:%s\n", temp1,temp2)
输出:数据库输出乱码。
%s
格式化字符串需要一个以空字符\0
结尾的字符数组。由于temp1
和temp2
是std::string
对象,string后不加\0,而%s打印的char数组需要\0结尾。
可以通过调用它们的.c_str()
成员函数来获取对应的字符数组。改为:
LOG_INFO("users:%s,password:%s\n", temp1.c_str(), temp2.c_str());