Niyə concatenation string c ++-da qəribə bir nəticə əldə edir?

C ++-da iki simli birləşdirməyə çalışıram:

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

və mən aşağıdakı nəticəni alıram:

 G1-2-1537817269.jpg 

Niyə deyil: "G1-2-%02d.jpg"

-16
23 авг. öncə 23 avqust. 2013-08-23 23:49 '13 saat 23:49 2013-08-23 23:49
ответ 1 cavab

Kobud bir ehtimal!

Birləşdirilmiş simli üzərində yazırsınız

 printf(str); 

burada str - "G1-2-%02d.jpg"

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

Gördüyünüz kimi simli %02d var və printf bir tamsaylı argument axtaracaqdır. O, onu tapa bilmir və müəyyən olmayan davranışlar baş verir. Ən yaxşı vəziyyətdə, simli bir təsadüfi dəyər göstərilir.

Mənim tahminim doğruysa, bu formada bir xətt çap edin:

 printf("%s",str); 

və ya Chis-də təsvir olunduğu kimi ikiqat istifadə edin:

 "G1-2-%%02d.jpg" 
5
23 авг. dərhal cavab verildi deepmax 23 aug. 2013-08-23 23:56 '13 at 23:56 2013-08-23 23:56

haqqında digər suallar və ya bir sual