|
分類:[C/C++]
OS:XP
環境:VC++2008
こんにちは、現在unicode形式のテキストファイルを読み込み、内容を操作するプログラムを書いています
以下のようにソースを書いたのですが、いざ呼び出すとなぜか最初の一文字しか読めないという現象が起きてしまいます
この現象が起きた方いらっしゃいますでしょうか?
また、対処法を知っていれば教えていただければと思います
FILE* file = fopen(Filename, "r, ccs=UNICODE");
std::wifstream wifs(file);
int wlen = 0;
// ストリームの読み込み位置を最後にする
wifs.seekg (0, std::ios::end);
// ファイルのカレント位置を取得する(=最後の位置にいるので、文字数を読み取れる)
length = wlen = (int)(wifs.tellg ());
// ストリームの読み込み位置を最初に戻す
wifs.seekg (0, std::ios::beg);
wchar_t *returncode_OR = new wchar_t [wlen];
// wifsの内容をwlen分読む
wifs.read (returncode_OR, wlen); /// ここを抜けた後、returncode_ORには読み込んだファイルの最初の一文字しか入っていない
// ファイルを閉じる
wifs.close();
|