我在 c++ 中组合了两个字符串,但放错了
I combined two strings in c++ but get a wrong out put
while(in) {
memset(str, 0,1024);
in.getline(str, 1024); // delim defaults to 'n'
string output = modifyString(str);
if (output != ""){
cout << output << endl;
string output1 = "INSERT INTO DATA_SRC "
"VALUES (" + output + ");";
cout << output1 << endl;
const char * command = output1.c_str();
cout << output << endl;
rc = sqlite3_exec(db, command, callback, 0, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %sn", zErrMsg);
sqlite3_free(zErrMsg);
return 1;
}
}
在这里,I + 两个字符串在一起。 而输出的本质上是: "D3318","D.A. Kline","通过GLC分离TMS衍生物定量测定水果中的糖",1970,"AOAC International杂志",53,6,1198,1202
这很好。但是在我把它结合到其他人之后。
预期: 插入DATA_SRC值("D3318","D.A. Kline","通过GLC分离TMS衍生物定量测定水果中的糖",1970年,"AOAC International杂志",53,6,1198,1202);
现实: 插入DATA_SRC值("D3318","D.A. Kline","通过 TMS 衍生物的 GLC 分离定量测定水果中的糖",1970 年,"AOAC 杂志");rnational',53,6,1198,1202
我现在不知道为什么。
您的modifyString
函数(您没有显示)正在将空字节复制到字符串的末尾。字符串输出函数将在空字节处停止,以便与 C 字符串兼容。
相关文章:
- 两个字符串在 c++ 中不相等
- 在C++的两个字符串中连接以逗号分隔的唯一值
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 比较两个字符串后卡在无限循环中
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- 使用XOR查找O(n)-解决方案中的两个字符串是否为变位符
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 如何将两个字符串加在一起,就好像它们是变量一样?
- 我需要帮助在一个类中输入两个字符串并获取其输出
- 这两个C++语句连接字符串有什么区别?
- 两个字符串之间的数学运算
- 使用 SET(C++) 检查两个给定字符串是否是字谜时出现运行时错误
- 有没有办法我可以在 C++ 中使用 if 语句来说明如果一个字符串不是两个名称的 eqal,它会给出一个输出,ATM i
- 如何在 main 函数中输出两个新字符串C++?
- sscanf() 有两个字符串参数
- 我的字符串数组一次打印出前两个字符串
- 两个 c++ 字符串上的异或
- 函数返回两个字符串的第一个常用字符
- 目标是找到两个 c 字符串之间的公共前缀(必须使用特定的函数标头)