No.2ベストアンサー
- 回答日時:
> fstream fs;
この行の上に
locale::global(locale("japanese"));
又は
setlocale(LC_ALL, "japanese");
と書いた行を挿入すればファイルが見つかり読み込めます。
ところが……
> Visual C++ 2005 Express Edition
このバージョンの場合は locale 指定するとまともな動作をしません。
ファイルの中に全角文字があるとその部分から表示が出なくなります。
次の URL では wcout...(※ となってますが cout でも同じことが起きます。
wcoutのlocale
http://forums.microsoft.com/MSDN-JA/ShowPost.asp …
※) ワイド文字を扱う場合には cout ではなく wfstream や wcout 使うからです。
このようにお使いのバージョンでは locale を指定するとうまく動作しませんので
locale は使わずに
> fs.open("I:\\勉強\\あtest0.txt",ios::in);
この部分のファイル名の指定している引数に「L」を挿入して const wchar_t * と
して扱うようにされるとよろしいかと思います。
fs.open(L"I:\\勉強\\あtest0.txt",ios::in);
第一引数に const wchar_t * も使えますので問題はなと思いますが、これはバグの
回避策であって、本来は locale を指定するのが正しいことかと思われます。
※ Visual C++ 2008 Express Edition は問題ありませんでした。
速攻のご対応誠にありがとうございます。
最近Cの勉強を始めたばかりで直ぐに壁に当たってしまいます。
私にとっては殆どが高い壁です。挫折せずにを続けて行くつもりですので、今後も宜しくお願いします。
本件も、ご回答を基に私なりに咀嚼したいと思います。
No.1
- 回答日時:
> C又はC++にて
C と C++ のどちらなのでしょう?
> ちなみに、英文字名は読み込む事ができました。
そう仰られるのであれば英数字名で読み込むことができたコードを提示して頂けないでしょうか?
そうなさって頂ければ、問題や原因などがわかり解決に繋がると思われます。
この回答への補足
早速のご回答ありがとうございます。言葉足らず申し訳ありませんでした。宜しくお願いします。
>C と C++ のどちらなのでしょう?
は、C++を考えていますが、CでもOKです、参考にして勉強します。
> ちなみに、英文字名は読み込む事ができました。
は、お恥ずかしい限りですが参考資料の説明例題を日本語名にしたものです。
#include <algorithm>
#include <fstream>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
fstream fs;
fs.open("I:\\勉強\\あtest0.txt",ios::in);
if (!fs)
{
cout<<"ファイルが開けません"<<endl;
return 0;
}
char c;
while (!fs.eof())
{
fs.read(&c,1);
cout<<c;
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
psqlでエラーログをとりたい
-
UWSCでファイルを開く方法
-
Perlでリモートコピー
-
バッチファイルで文字列削除に...
-
MS-DOSのバッチファイルの中で...
-
Windowsのバッチファイルを利用...
-
forfilesで検索したファイルを...
-
ファイルのアクセス権を得る
-
★★★PowerShellのpatternについ...
-
[C/C++]プリプロセッサのファイ...
-
wikiでローカルファイルのリン...
-
テキストファイルのタブをカン...
-
Windows マシンでFTPバッチが動...
-
VBSでFTPを記述できますか?
-
エクセルVBA テキストに出力、...
-
エクセルの各セルの内容をそれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
拡張子を元に戻す
-
テキストファイルで提出とは?
-
ファイルの最後に文字列挿入
-
バッチファイル 複数ファイル...
-
バッチファイルで文字列削除に...
-
renameコマンドについて
-
forfilesで検索したファイルを...
-
accessでSQL文を使ってcsvファ...
-
バッチファイルからVBAに引数を...
-
psqlでエラーログをとりたい
-
UWSCでテキストファイルを開い...
-
cshでファイルサイズ取得
-
MS-DOSのバッチファイルの中で...
-
コマンドプロンプトで指定した...
-
テキストファイルのタブをカン...
おすすめ情報