我正在尝试从params->filename
中减去子字符串并将其附加到查询中。
我宁愿避免额外复制它(params->文件名在执行sprintf后不会改变,不是吗?)?
这就是我试过的:
(gdb) print params->filename
$4 = 0x8b7d53 "20140317.080051.std"
....
sprintf (query+strlen(query), " %.*s ', to_date('YYYYMMDD.HHMISS')", 0, params->filename+ 15);
它没有附加任何东西。任何线索?
答案 0 :(得分:3)
对于%.*s
,与*
对应的参数表示要写入的字符数。你给了参数0
所以它写了0
个字符。
要解决此问题,请将0
更改为正数,或者如果要编写字符串的其余部分,则可以省略.*
和0,
。< / p>