2016-11-20 11 views
0

私はfstreamを使ってファイルにアクセスし、その内容を抽出しています。私がそのデータを出力するとき、私は奇妙なシンボルを1つだけ取得し続けます。これは私が使用しているプロセスです。私は成功の前にそれを使用しましたが、今は問題があるようです。ここにコードがあります。C++でファイルを読むときに奇妙な記号

#include<iostream> 
    #include<fstream> 

    using namespace std; 

    int main() { 
     char text; 
     int waitForIt; 
     fstream Txt1("In.txt", ios::in); 


     cout << "\n\tcontents of In.txt:" << endl << endl; 
     cout << "\t\t"; 
     Txt1.get(text); 
     do { 
      cout << text; 
      Txt1.get(text); 
     } while (!Txt1.eof()); 
     Txt1.close(); 
     cin >> waitForIt; 
    }; 

これが出力されているものです:私はあなたのファイルを開くことができませんでした賭ける

Symbol being output as char text

+1

が、 'しばらく(テキスト<< fstreamの)coutの<<テキストを書くためにクリーンではないでしょうか;'? – ForceBru

+0

と入力ファイルの実際の内容は何ですか? –

+0

このコードはうまく動作します。問題は "In.txt"である可能性があります – Ash

答えて

1

。あなたのループを書いたやり方では、読んだと思われる文字は、読み込みに失敗してもgetの機能を使って印刷します。

あなたは実行する必要があります。

fstream Txt1("In.txt", ios::in); 
if (Txt1.is_open()) 
{ 
    cout << "\n\tcontents of In.txt:" << endl << endl; 
    cout << "\t\t"; 
    while (!Txt1.eof()) 
    { 
     Txt1.get(text); 
     cout << text; 
    } 
    Txt1.close(); 
} 
else 
{ 
    cout << "Unable to open file" << endl; 
} 
関連する問題