No.2ベストアンサー
- 回答日時:
(1).net FrameWork利用
MSVC++.net frameworkの流儀に従うと、以下のようなソースコードになるかと思います。
try~catch(=例外処理)するところが「みそ」で、ソースが複雑になるかもしれませんが、万が一、エラーが起きた場合などにそなえて、try~catchは使うべきだと思います。
使うクラスは
StreamReader
String
StringBuilder
StringWriter
です。
.netのStringクラスにMFCのCStringクラスのような「+=」演算子のオーバーロードが用意されていないので、利用するクラスが増えています。
---------------
try {
StreamReader* sr = new StreamReader(strFileName);
try {
String* line;
StringBuilder *strbuf = new StringBuilder();
StringWriter *strwtr = new StringWriter(strbuf);
while (line = sr->ReadLine()) {
strwtr->WriteLine(line);
}
textBox1->Text = strbuf->ToString();
//textBox1->Refresh();
} __finally {
if (sr) __try_cast<IDisposable*>(sr)->Dispose();
} catch (Exception* e) {
MessageBox::Show(e->Message, S"エラー" , MessageBoxButtons::OK , MessageBoxIcon::Exclamation);
}
}
--------------------------------------
(2)MFC利用
CString strLine;
CString strResult;
try
{
CStdioFile file(strFileName , CFile::typeText | CFile::modeRead | CFile::shareExclusive);
while(file.ReadString(strLine))
{
strResult = strResult + strLine + "\r\n";
}
file.Close();
}
catch(CFileException* pe)
{
char szMsg[512];
pe->GetErrorMessage(szMsg , sizeof(szMsg));
AfxMessageBox(szMsg);
pe->Delete();
return;
}
--------------------------------------
(3)fopenを使う
最も古典的で、Linux等のOSの開発環境に対する互換性もあります。
が、.netでの動作確認はしていないので、ご参考まで。
fgetsに指定した文字列の長さの行しか読み取れないのが痛いかな・・・
#include <stdio.h>
#define MAXLINE 512
FILE *fp;
char line[MAXLINE];
if ((fp = fopen(strFileName , "rt")) == NULL) {
return ;
}
while(fgets(line,MAXLINE,fp)){
...
なんらかの処理
...
}
fclose(fp);
fp = NULL;
No.1
- 回答日時:
cinからの入力はわかりますか?
#include <fstream>
で
ifstream fin;
fin.open("data.txt");//ファイル名を指定してオープン
std::string str;
fin >> str; //cinのように使える
fin.close();
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fopenでファイル名に、変数を使...
-
画像の白黒表示
-
バイナリファイルの読み込み(C...
-
c言語による画像処理について
-
c言語でのfscanfについて
-
CRC32の計算方法
-
open cvで配列の値をテキストに...
-
[C言語]2つのファイルを用いた...
-
テキストファイルをバイナリフ...
-
DOS窓を閉じる×ボタンを押され...
-
lockfについて
-
複数ファイルの同時読み込みの...
-
C言語にてXMLファイルから任意...
-
プログラミングのデータの読み込み
-
2÷3などの余りについて
-
「指定されたキャストは有効で...
-
ある商品のロス率を5%見込み、...
-
信頼区間の1.96や1.65ってどこ...
-
C言語でセルオートマトンを作成...
-
20'(角度)の計算がわかりま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語でのfscanfについて
-
ファイルへの書込み処理が異常...
-
C言語でファイル読み書きを早く...
-
エラーがわかりません、、
-
日本語ファイル名のFTPについて
-
fopenでファイル名に、変数を使...
-
ファイル出力で改行を入れたい!
-
テキストファイル内に対して, ...
-
複数ファイルの同時読み込みの...
-
C言語の課題です
-
C言語を用いて、csvファイル内...
-
バイナリファイルの読み込み(C...
-
C言語にてXMLファイルから任意...
-
ファイルが読み込めない・・・
-
構造体のメンバにファイルポイ...
-
CRC32の計算方法
-
ファイルからCR/LFを除去したい
-
C言語におけるファイル読み込み...
-
C言語 csv 配列
-
エラー C2664
おすすめ情報