看板 C_and_CPP 關於我們 聯絡資訊
今天port程式到Windows, 沒想到會卡在這裡 我有一個已經是UTF-16編碼的路徑 用std::wstring存, 在正常狀況下用wfopen就可以解決 但是現在開檔的是一個我碰不到的程式碼 它要求傳 char * 給它 裡面會使用fopen開檔 於是我試了: 1. UTF-8 -- 找不到檔案 2. 轉成系統的code page看得懂的字串( Big5, SJIS ... etc ) -- 還是找不到 然後它沒有提供讀取fd的介面 所以不能先開成fd再給它讀.... 講了這麼多, 其實就是要問: 有方法可以用fopen打開Unicode的路徑嗎? -- 自High筆記(半荒廢) http://legnaleurc.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.146.194.91
WPC001:try T2CA or W2CA marco 02/09 12:14
HudsonE:弄一個假的 fopen 給它.. 不過我猜你沒有字串長度應該很囧 02/09 13:42
Killercat:try _wfopen.... 02/09 15:54
Killercat:不過正常來講都是用_tfopen來寫相容碼,MSDN看一下唄 02/09 15:56
Killercat:疑 我好像看錯你的問題了,不過unicode我能用wfopen開說 02/09 15:57
Killercat:用fopen是無法開non ascii的檔案名稱的 02/09 15:57
legnaleurc:試過了wcstombs,也是不行... 02/09 21:09
legnaleurc:但是我轉成locale, 寫新檔案竟然可以 02/09 21:10
legnaleurc:Windows真是深奧 02/09 21:10
yk66:可以解釋一下樓上說的嗎...“寫新檔案竟然可以” thx 02/09 22:25
legnaleurc:就是fopen( "檔名", "w" ),可以動... 02/10 03:37
legnaleurc:不過真正做fopen的也是我碰不到的函式 02/10 03:38