我试图在C ++中连接两个字符串:
"G1-2" + "-%02d.jpg"
我得到以下结果:
G1-2-1537817269.jpg
为什么不是这样的结果:"G1-2-%02d.jpg"
答案 0 :(得分:5)
疯狂猜测!
您正在通过
打印连接的字符串printf(str);
其中str
为"G1-2-%02d.jpg"
printf("G1-2-%02d.jpg");
^^^^
// but, where is corresponding integer in the following?
正如您所看到的,字符串中有%02d
,printf
将寻找整数参数。它找不到它并且发生了未定义的行为。在最好的情况下,它会用字符串打印出一个随机值。
如果我的猜测是真的,那么尝试以这种形式打印字符串:
printf("%s",str);
或使用双%
作为Chis思想:
"G1-2-%%02d.jpg"