[問題] 有關sprintf()的問題

看板C_and_CPP作者 (慶仔)時間14年前 (2009/10/21 19:09), 編輯推噓5(501)
留言6則, 5人參與, 最新討論串1/1
假如寫一個這樣的程式 char a[10]; sprintf(a,"123"); sprintf(a,"456"); printf("%s",a); print出來的是456,是知道第二個sprintf把第一個覆蓋掉了 所以請問依照上面的寫法(不寫在一起的情況下)如何讓它printf出 123456呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.38.13

10/21 19:23, , 1F
sprintf(a+3,"456");
10/21 19:23, 1F

10/21 19:35, , 2F
ptr=a;ptr+=sprintf(ptr,"123");ptr+=sprintf(ptr,"456");
10/21 19:35, 2F

10/21 19:38, , 3F
strcat(a,"456");
10/21 19:38, 3F

10/21 20:41, , 4F
sprintf(a,"%s456",a);
10/21 20:41, 4F

10/21 21:00, , 5F
如果是 sprintf 的參數是 restrict ptr, 不建議像樓上的用法
10/21 21:00, 5F

10/24 10:41, , 6F
sprintf("%s%s", "123", "456") 不是就好了?
10/24 10:41, 6F
文章代碼(AID): #1AtklKS0 (C_and_CPP)