看板 C_and_CPP 關於我們 聯絡資訊
小弟因為剛踏入C++的領域兩個月,有些語法不太了解 今天看了某支程式,其中有段是這樣... CString strNewFileName; strNewFileName.Format("%s_%02d", sourceFile.GetFileName(),nReaded); strNewFileName.Remove('.'); 以往看到的Format都是兩個參數Format(" ", ) 但是今天看到三個參數的,第二行的用意是? 第一個參數"%s_%02d"的意思是? 麻煩各位幫忙了,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.194.23
deh3215:看起來是sourceFile.GetFileName()_00nReaded %s(字串),%d 05/10 00:25
deh3215:整數 05/10 00:26
linotwo:後兩個參數叫做 Variable Argument Lists 05/10 00:56
linotwo:可以有 0~n 個參數 05/10 00:57
linotwo:Format 的原形宣告的參數裡面會有 ... 05/10 00:59
linotwo:第二行做的事情是把一個字串填入 strNewFileName 中 05/10 01:04
linotwo:字串的格式是 "%s_%02d" 05/10 01:05
linotwo:根據他的格式,他會額外需要兩個變數來完成字串 05/10 01:06
linotwo:sourceFile.GetFileName() 填入 %s 的位置 05/10 01:07
linotwo:nReaded 填入 %02d 的位置 05/10 01:07
linotwo:假設參數分別是 "filename", 1 05/10 01:12
linotwo:則會將 "filename_01" 填入字串 05/10 01:12
don750421:感謝樓上兩位大大,我看懂了.... 05/10 22:28