私は文字の配列にテキストファイルの内容を読み込み、次の簡単なコードを、持っている:はifstreamは、テキストファイルから間違った文字を読み込み
const char* name = "test.txt";
std::cout << "Loading file " << name << std::endl;
std::ifstream file;
file.open(name);
file.seekg (0, std::ios::end);
int length = file.tellg();
std::cout << "Size: " << length << " bytes" << std::endl;
file.seekg (0, std::ios::beg);
char* buffer = new char[length];
file.read(buffer,length);
file.close();
std::cout.write(buffer,length);
しかし、はifstreamはファイルから文字の間違った番号を読み取っているようだが。各行に1つの追加のchar。私はウェブを検索し、win7のテキストファイルのように、各行の最後に改行(\ n)に加えて改行記号(\ r)が付いているように見えます。しかし、ストリームは何らかの形でこれらの文字を表示しませんが、ファイル内の元の数のシンボルを引き続き使用し、ファイルの末尾からさらにバイトを読み取ります。何とかこの問題を解決することは可能ですか?
役立つ場合:MinGWコンパイラとWindows 7 64ビットを使用します。
多分あなた。代わりに 'readsome'関数を使用して、実際にどれくらい読み込んでいるのか確認できます。 – Nim