C++
1ifsteram ifs("test.txt");
にてファイルを読み込む際に、Shift-JISの文章を読み込もうとすると後々にバグが起きて止まります。(mac環境だからなのかもしれませんが... windowsでも同じなのかも教えていただきたいです)
もしShift-JISのファイルを読み込んでしまった時に、その判定をしてUTF-8に変換することはできますか?
もしくは、判定だけしてエラーメッセージを返すだけでも良いです。
よろしくお願いします。
バグが起こる内容
c++
1#include <iostream> 2#include <fstream> 3#include <sstream> 4#include <iterator> 5#include <string> 6 7using namespace std; 8 9int main(void){ 10 char filepath[1000]; 11 cout<<"ファイルを入力してください\n"; 12 cin>>filepath; 13 ifstream ifs(filepath); 14 if(!ifs){ 15 cerr<<"ファイルの読み込みに失敗しました。名前があっているか確認してください。"<<endl; 16 exit(1); 17 } 18} 19
ここで、windowsで作ったShift-JIS形式のファイルを読み込もうとすると失敗します。(Xcodeを使ってます。)
バグが起きるコードと、バグの内容を書いてください。
回答4件
あなたの回答
tips
プレビュー