CB2009无法解释换行的字符串,求教
代码如下:
sprintf(tmp_sql,"select AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB='%s'", var_char1);
在CB6.0中,会将其解析为select AAAAAAA BBBBBBB
在CB2009(网上下的精简版190M那个)中,被解析为select AAAAAAA \t\t\t\t\t\t\t BBBBBBB
这样解析字符串明显是错误的,导致数据库查询出错。
请问在CB2009中应该如何设置呢?还是有其他的解决办法?
[解决办法]
sprintf(tmp_sql, "select AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB='%s'", var_char1);
[解决办法]
补充一下:一定要注意,第一行的末尾是没有分号的。
如果用TCHAR,则要这样写:
_stprintf(tmp_sql, TEXT("select AAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
TEXT("BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB='%s'"), var_char1);如果用宽字节的函数,则要这样写:
swprintf(tmp_sql, L"select AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
L"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB='%s'", var_char1);
[解决办法]
这不是什么版本的问题,你原先的写法本来就不标准。C++Builder6.0不提示出错并不代表你的写法就正确。