【初心者歓迎】C/C++室 Ver.74【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0570デフォルトの名無しさん
2011/01/15(土) 01:06:49下のように(A)の行をコメントアウトした状態だと「failed」が出力され、
ファイルオープンに失敗します。
((A)を有効にして、(B), (C), (D)をコメントアウトした場合は「succeeded」が表示されます)
どこを修正したらいいか、ご指摘をお願いします。
環境はWinXP Pro で Visual Studio 2008 Proです。プロジェクトはWin32コンソールアプリケーションで、
ウィザードの設定はデフォルトです。
#include "stdafx.h"
#include <iostream>
#include <fstream>
int _tmain(int argc, _TCHAR* argv[])
{
std::ifstream ifs;
// std::locale::global(std::locale("japanese")); // (A)
std::locale loc = ifs.getloc(); // (B)
ifs.imbue(std::locale("japanese")); // (C)
ifs.open("あいうえお.txt");
ifs.imbue(loc); // (D)
if (!ifs.is_open()) {
std::cout << "failed" << std::endl;
} else {
std::cout << "succeeded " << std::endl;
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています