掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MultiByteToWideCharでゴミが付かないようにするには (ID:61585)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
OS: Windows XP 開発ツール: VS 2005 VC++ アプリ: MFC/SDI プロジェクト: Unicode文字セット使用 Unicodeファイルと通常のANSIファイルを共用できるアプリを 作っています。 上記の環境でビルドするので、ANSIファイル(テキストデータが 入っている)を読み込むときは、MuliByteToWideChar関数を使って 変換しますが、読み込んだ文字列の末尾にヘンな文字列(ゴミ)が くっつきます。 例えば、 「連休は晴天でしょう(改行)かなりの人出が予想されます(改行)」 と入っているファイルを読むと、 「連休は・・・(2つ目の改行)ヘ’’’オオオオ」 となります。 下記のコードのどこがまずいか、あるいは別の方法を教えてください。 よろしくお願いいたします。 CFile f; f.Open(_T("Test.CSV"), CFile::modeRead); int nByteFile = (int)f.GetLength(); char *cANSI = new char[nByteFile+1]; f.Read(cANSI, nByteFile+1); wchar_t *wcRead = new TCHAR[nByteFile+1]; int nLen = ::MultiByteToWideChar(CP_ACP, 0, cANSI, -1, NULL, 0); ::MultiByteToWideChar(CP_ACP, 0, cANSI, -1, wcRead, nLen); delete [] cANSI; delete [] wcRead;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.