作者QQ29 (我愛阿蓉)
看板C_and_CPP
標題[問題] 開檔 檔名字串問題
時間Mon Aug 10 21:55:20 2009
是這樣的 我使用了以下函式 讀取我目前的工作目錄
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
推 zerodevil:用fopen開GList.txt試試看? 08/10 22:16
→ QQ29:測了....可以開... 08/10 22:18
→ Jockey66666:std::locale::global(std::locale("")); 08/10 22:56
→ Jockey66666:試試看加上這行? 08/10 22:56
→ QQ29:加了.....好像成功了= = 請問這作用是甚麼!!!??? 08/10 23:27
→ Jockey66666:路徑有中文的話最好加上那行 08/11 11:26
→ Jockey66666:編碼問題吧 08/11 11:27