
Visual C++ 2008 Express Editionで、現在、600kバイト程度のバイナリファイルを読み込んで特定の番地のデータだけを取り出してそれをテキスト変換してテキストボックス内に表示させるというプログラムを作成しているのですが、このことをOKwaveでどのようにコーディングするかを教えてもらったところ、
System::IO::StreamReader^ sr=gcnew StreamReader(_T("sample.txt"));
このような文を教えてもらったのですが、全く知識がなく何をやっているのかわかりません。
”sr”というのは変数で、sample.txtからstreamReader関数でsample.txt内のデータをsr変数に
入れているという感じがしますが、”System::IO::StreamReader”とか”gcnew”とかの意味がよくわかりません。
どうかご教授お願いいたします。
No.1ベストアンサー
- 回答日時:
私は、C++で開発を行っているのではなくC#ですが・・・ さらに初心者ですが・・・
>System::IO::StreamReader
テキストの文字列を、指定のフォーマットなどで取り込む時に使用します。
srへ、格納した後は、自由に取り出すことができます。
(while文などを使用して、上から一行づつ取り出すなど)
>gcnew
gcnewは、初めてみたのでわかりませんが、メモリ管理周りっぽいですね。難しかったですが、リンク載せておきます。(2つ目)
参考URL:http://msdn.microsoft.com/ja-jp/library/akzyzwh9 …
回答ありがとうございます。
資料のURLも載せてもらい、ありがとうございます。
それで、http://msdn.microsoft.com/ja-jp/library/akzyzwh9 …こちらのリンクで、同じような例文が書かれいて、
”StreamReader* objReader = new StreamReader("c:\\test.txt");”
テキスト文を”StreamReader”で宣言したobjReader変数に渡している文なんですが、
”StreamReader*”という書き方をしているのですが、”System::IO::StreamReader”という書き方とは違うのですが、これには何か理由があるのでしょうか? ”System::IO::”このコロンで挟んだりして書いたりする文というのはどうゆうことを表しているのでしょうか?
どなたかご存じでしたらご教授いただけませんでしょうか?
No.2
- 回答日時:
C++/CLIの基本的な構文ですねー。
大雑把に書くと、System名前空間の下のIO名前空間の下の
StreamReaderクラスのインスタンスを、ガベージコレクタの対象として
(すなわちマネージヒープに)作成し、そのハンドルをsrに持ちましょう、ということです。
なので、
System::IO::StreamReaderは
System名前空間の下のIO名前空間の下のStreamReaderクラス
gcnewは
マネージヒープ上にインスタンスを作成しなさい
となるのかな。
ここら辺の意味が理解不能ならば、まずは入門用の
書籍やWebサイトを参照することをオススメします。
回答ありがとうございます。
”System::IO::StreamReader”このような書き方はC++言語の特徴だそうですね。
C++言語の入門学習WEBページの
http://www.asahi-net.or.jp/~yf8k-kbys/newcpp3.html
”C++によるプログラミング入門3 cinを使った入力”
に同じような記述がありました。
ちょっと基本的なことを見ながらC++プログラミングをやっていきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の付け方
-
private static という変数の修飾
-
C# インスタンスの破棄
-
newしないインスタンス?実体化...
-
生成したインスタンスを削除す...
-
インスタンス参照でアクセスで...
-
複数クラスで共通の関数、変数...
-
JAVA ArrayListからArrayList...
-
「インスタンス」の意味をわか...
-
マルチスレッドでのインスタン...
-
Visual Basic アクセス範囲外?
-
C#のメモリ解放についてご教授...
-
教えてください。
-
C#のスレッド処理について、ご...
-
データベースから日付型を取得...
-
ガーベージコレクション?
-
オブジェクト指向に関して。
-
Eclipse3でVisualEditorが起動...
-
javaのクラスの作り方、エラー...
-
SerialPort処理でInvokeメソッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
private static という変数の修飾
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
インスタンス参照でアクセスで...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
オブジェクト参照がオブジェク...
-
生成したインスタンスを削除す...
-
VB.NET getとsetの概念がわかり...
-
javaのクラスの作り方、エラー...
-
変数の参照でエラーが出てしま...
-
「インスタンス」の意味をわか...
-
インスタンスを同じ名前で作成...
-
newしないインスタンス?実体化...
-
フォームの存在をチェックする方法
-
String a = "a"; と String b =...
-
C#のメモリ解放についてご教授...
-
vb.netでFAXを送信する方法
-
他のファイルの変数参照
-
Delphiでインスタンスが作成さ...
おすすめ情報