いま、Visual C++ 2008 Express Editionで、コマンドボタンをクリックした時に、600kバイト程度のバイナリファイルから特定の番地のデータを抜き出して(2バイト分)、そのデータをテキストデータに変換してテキストボックスに表示させたいのですが、コードを作成したのですが、エラーがたくさんでて書き方がよくわかりません。
一応コマンドボタンのところはこのように書きました。まだ、ファイルを読み込むまで行っていません。
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//指定したファイル名でStreamReaderを設定する
try{
sreader1=gcnew StreamReader("sample.txt");
}catch(Exception^ ex){
//Console::WriteLine(ex->Message);
return 0;
}
this->textBox1->Text = L"変更1";
this->textBox2->Text = L"変更2";
this->textBox3->Text = L"変更3";
}
};
どうかご教授いただきますようよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
こんばんは。
こう言う事でしょうか。private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
//指定したファイル名でStreamReaderを設定する
try
{
System::IO::StreamReader^ sr = gcnew System::IO::StreamReader(_T("sample.txt"));
//受け皿
array<wchar_t>^ buf = gcnew array<wchar_t>(2);
//先頭から0x1f63バイト動かす
sr->BaseStream->Seek(0x1f63, System::IO::SeekOrigin::Begin);
//2バイト読み込む
sr->Read(buf, 0, buf->Length);
//此処でテキストボックスに入れる
this->textBox1->Text = gcnew System::String(buf);
}
catch(System::Exception^ ex)
{
System::Windows::Forms::MessageBox::Show(ex->ToString());
}
//this->textBox1->Text = L"変更1";
this->textBox2->Text = L"変更2";
this->textBox3->Text = L"変更3";
}
回答ありがとうございました。
教えていただいたコーディングでVisual C++ 2008 Express Editionでコンパイルかけてやっています。ただ、ちょっとエラーが数個出てきてその内容が理解できない状態です。
下のページにそのエラー内容が表示されているところの絵を貼り付けてみました。
http://sourceforge.jp/projects/felicareader/wiki …
どなたかもしよければ、何が悪く、どう解消したらよいか教えていただけませんでしょうか。
また、このC++プロジェクトは下のURLからダウンロードすることもできます。
http://svn.sourceforge.jp/view/RungeKutta/RungeK …
No.2
- 回答日時:
こんにちは。
補足頂きました。HPとエラー内容の方を拝見させて頂きました。この手のエラーは文字列以外の部分で、「全角文字」を使用しているのが原因です。
form1.hの中の
System::IO::StreamReader^ sr = gcnew System::IO::StreamReader(_T("sample.txt"));
の左側の空白部分に、「全角スペース」が混ざり込んでいるのが原因ではないでしょうか。ひとまず、バックスペースで、空白を消してみて下さい。
回答ありがとうございます。
本当にありがとうございます!!エラーが22もありましたが、1にまで減りました。とりあえず自力でやってみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルシート名の制限を変更...
-
UTF-8で5~6バイトになる文字コ...
-
char str[256]の256の意味は?
-
VB.NET LeftBの代用
-
10Mバイトて文字数に すると何...
-
3バイト文字(UTF-8)をprintfで...
-
URLは最高何文字まで可能なので...
-
VB6でのファイルサイズ取得につ...
-
Javaで日本語1文字のバイト数
-
COBOLのCOMP形式について
-
【VB2005】テキストボックス内...
-
バイト列とバイナリ列の違いが...
-
memcmp バイナリデータの比較方法
-
文字数を取得したい
-
HDMLのcgi呼び出し時について
-
2バイト文字の判定はString#get...
-
文字コードの使い分けについて
-
エクセルで2byte文字を含むセル...
-
Shift_JISからUTF-8への変換に...
-
UTF-8とUTF-16およびUTF-32につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
-
char str[256]の256の意味は?
-
COBOLのCOMP形式について
-
バイト列とバイナリ列の違いが...
-
ビットスワップとバイトスワッ...
-
VBAでShift-JISのURLエンコード
-
ピクセル,dpiから容量(バイト...
-
「1TB」のHDDに日本語は何字入...
-
SQLで1バイト、2バイト混在...
-
バイナリとBCDコード
-
Javaで日本語1文字のバイト数
-
UCS-2の一覧表が欲しい
-
3バイト文字(UTF-8)をprintfで...
-
:(コロン)のKeyCode
-
【VB2005】テキストボックス内...
-
64bit対応
-
URLは最高何文字まで可能なので...
-
機種依存文字をチェックしたい。
おすすめ情報