-18

我正在尝试在 C++ 中连接两个字符串:

"G1-2" + "-%02d.jpg"

我得到以下结果:

G1-2-1537817269.jpg

为什么不是这样的结果:"G1-2-%02d.jpg"

4

1 回答 1

6

胡乱猜测!

您正在通过以下方式打印连接的字符串

printf(str);

str在哪里"G1-2-%02d.jpg"

printf("G1-2-%02d.jpg");
             ^^^^
//            but, where is corresponding integer in the following?

如您所见%02d ,字符串中有 aprintf并将寻找一个整数参数。它找不到它并发生未定义的行为。在最好的情况下,它会用字符串打印出一个随机值。

如果我的猜测是真的,那么尝试以这种形式打印字符串:

printf("%s",str);

 

或使用%Chis 提到的 double :

"G1-2-%%02d.jpg"
于 2013-08-23T20:56:34.657 回答