[問題] 開檔 檔名字串問題

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間16年前 (2009/08/10 21:55), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
是這樣的 我使用了以下函式 讀取我目前的工作目錄 GetCurrentDirectoryA(255,chpath); ^^^^^^^ 型態是 char [255] 因為我的目錄有中文字 我存在桌面 然後使用 char filename[255]={'\0'}; char img_file[]="\\Data\\1.bmp"; strcat(filename,chpath); strcat(filename,img_file); FILE *fp = fopen(filename, "r"); ............... 這樣OK 可以成功開檔 讀出資料 cout<<filename 也都印出正確路徑(包含中文) 我依樣畫葫蘆 使用chpath ofstream fw; char filepath[255]={'\0'}; strcat(filepath,chpath); strcat(filepath,"\\GList.txt"); fw.open(filepath,ios::out); fw.is_open()始終都回傳false... 奇怪.... 難道是fopen和ofstream的open 吃的字串有不一樣嘛?? 同樣的方式一個可以開一個不能開= = 請問我是哪裡出了問題呢 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187

08/10 22:16, , 1F
用fopen開GList.txt試試看?
08/10 22:16, 1F

08/10 22:18, , 2F
測了....可以開...
08/10 22:18, 2F

08/10 22:56, , 3F
std::locale::global(std::locale(""));
08/10 22:56, 3F

08/10 22:56, , 4F
試試看加上這行?
08/10 22:56, 4F

08/10 23:27, , 5F
加了.....好像成功了= = 請問這作用是甚麼!!!???
08/10 23:27, 5F

08/11 11:26, , 6F
路徑有中文的話最好加上那行
08/11 11:26, 6F

08/11 11:27, , 7F
編碼問題吧
08/11 11:27, 7F
文章代碼(AID): #1AW2R9_m (C_and_CPP)
文章代碼(AID): #1AW2R9_m (C_and_CPP)