[問題] sprintf的問題

看板C_and_CPP (C/C++)作者 (pf719212)時間15年前 (2010/07/20 11:56), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串1/2 (看更多)
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) aa以設好 長度20的字串 UpdateData(TRUE); sprintf(aa,"%s",m_Edit1); UpdateData(FALSE); 執行完aa 永遠只抓到第一個輸入的字串 例如輸入11111 aa只等於1 aaaaa aa只等於a sprintf抓不到完整字串 希望得到的正確結果: 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) 有問題的code: (請善用置底文標色功能) 補充說明: -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.198.243

07/20 12:00, , 1F
隔空抓藥猜 m_Edit1 的型態是 wchar_t
07/20 12:00, 1F

07/20 12:01, , 2F
同樓上v大....XD
07/20 12:01, 2F

07/20 12:31, , 3F
type 為 CString
07/20 12:31, 3F

07/20 13:06, , 4F
問題應該出在於把unicode字串當成ascii字串處理
07/20 13:06, 4F

07/20 13:53, , 5F
CString 是這樣用的嗎? 我漫好奇的 呵呵
07/20 13:53, 5F

07/20 13:53, , 6F
改成 m_Edit1->c_str() 試試看
07/20 13:53, 6F

07/20 14:04, , 7F
我把%s 改成大寫 就ok了
07/20 14:04, 7F

07/20 14:39, , 8F
我只能說你的寫法還是有潛在的問題 XD
07/20 14:39, 8F

07/20 14:39, , 9F
另外 %S 是非標準用法
07/20 14:39, 9F

07/20 14:39, , 10F
S (Not in C99, but in SUSv2.) Synonym for ls.
07/20 14:39, 10F

07/20 14:39, , 11F
Don’t use.
07/20 14:39, 11F

07/20 14:43, , 12F
正確解推文內有講到嘍~
07/20 14:43, 12F
文章代碼(AID): #1CHHvmFq (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1CHHvmFq (C_and_CPP)