ファイルを開いて、エンコード方式がバイナリかASCIIか判別できるコードをこのサイトを参考に書いてみたんですが、うまく動作しません(詳しくは下に書いてあります)。
この辺をこうしたらいいなどのアドバイスをもらえませんか?
CPP
1ifstream ifs(ファイルパス); // ファイルを開く 2 3 // ファイルのオープンに成功しているか 4 if (!ifs) { 5 cout << "ファルがひらけれませんでした。\n"; 6 cout << "何か入力してください。\n"; 7 cin >> err; 8 if (err != "") { 9 return 1; 10 } 11 }else{ 12 cout << "ファイルを開きました。\n"; 13 } 14 15 // 開いたファイルのデータが空だったら 16 if (ifs.get() == EOF) { 17 cout << "ファイルが空です。\n"; 18 cout << "何か入力してください。\n"; 19 cin >> err; 20 if (err != "") { 21 return 1; 22 } 23 } 24 25 while ((ifs.get()) != EOF){ 26 int c = ifs.get(); 27 cout << c << "/C/\n"; 28 29 if (EOF == c){ 30 cout << "ASCII"; // ASCII? 31 break; 32 }else if (c <= 8){ 33 cout << "バイナリ\n"; // バイナリ? 34 break; 35 //ifs.close(); 36 //return 1; 37 } 38 }
ファイル名 | 表示 |
---|---|
test_a.txt | 表示なし |
test_b.txt | ASCII |
file.pbm | バイナリ |
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/05 15:28
2017/07/05 15:30
2017/07/05 15:33 編集
2017/07/06 13:07
2017/07/06 13:32
2017/07/06 13:56
2017/07/06 14:33
退会済みユーザー
2017/07/06 14:36
2017/07/06 14:40
2017/07/07 13:49
2017/07/16 07:26
2017/07/16 08:30
2017/07/18 14:58
2017/07/18 15:49
2017/07/19 00:50