含有%的字符串中添加字符, 失败:
1. 可能是运行的时候终端输出
2. 输出错误结果
【源码】
#include <sstream>
using namespace std;
void main()
{
double b = 13.0;
string v = "ab c";
std::ostringstream buffer1;
buffer1 << "(COLNAME1-" << b << ")<1E-13 AND COLNAME2 LIKE '%" << v.c_str() << "%'";
string str1 = buffer1.str();
printf(str1.c_str());
getchar();
}
【想要输出正确需要将%前面加一个%】
#include <sstream>
using namespace std;
void main()
{
double b = 13.0;
string v = "abc";
std::ostringstream buffer;
buffer << "(COLNAME1-" << b << ")<1E-13 AND COLNAME2 LIKE '%%" << v.c_str() << "%%'";
string str = buffer.str();
printf(str.c_str());
getchar();
}
输出就正确了