いま、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.2
- 回答日時:
こんにちは。
補足頂きました。HPとエラー内容の方を拝見させて頂きました。この手のエラーは文字列以外の部分で、「全角文字」を使用しているのが原因です。
form1.hの中の
System::IO::StreamReader^ sr = gcnew System::IO::StreamReader(_T("sample.txt"));
の左側の空白部分に、「全角スペース」が混ざり込んでいるのが原因ではないでしょうか。ひとまず、バックスペースで、空白を消してみて下さい。
回答ありがとうございます。
本当にありがとうございます!!エラーが22もありましたが、1にまで減りました。とりあえず自力でやってみたいと思います。
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 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
ビットスワップとバイトスワッ...
-
UTF-8で5~6バイトになる文字コ...
-
char str[256]の256の意味は?
-
バイト列とバイナリ列の違いが...
-
VB 2008: LenB関数の代行機能は...
-
PHP 文字列抽出
-
バイナリとBCDコード
-
「1TB」のHDDに日本語は何字入...
-
全角半角を調べるライブラリ関...
-
シフトJISの2バイト文字
-
最大長を用意せずにバイナリデ...
-
unicode←→JISコード
-
iconv変換後のサイズについて
-
任意のアルファベットの2進表...
-
Visual C++ 2008 Express Editi...
-
VBでShift_JISへurlエンコード...
-
memcmp バイナリデータの比較方法
-
UTF-8とUTF-16について質問です。
-
ポインター引数の関数でコンパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
char str[256]の256の意味は?
-
エクセルシート名の制限を変更...
-
COBOLのCOMP形式について
-
バイナリとBCDコード
-
バイト列とバイナリ列の違いが...
-
ビットスワップとバイトスワッ...
-
ピクセル,dpiから容量(バイト...
-
SQLで1バイト、2バイト混在...
-
Javaで日本語1文字のバイト数
-
「1TB」のHDDに日本語は何字入...
-
機種依存文字をチェックしたい。
-
VBAでShift-JISのURLエンコード
-
GetWindowTextでアドレスバーか...
-
COBOL PICTUREで X,S,Vの意味
-
【VB2005】テキストボックス内...
-
URLは最高何文字まで可能なので...
-
1KBが1024byteな理由
-
ワイド文字のバイト数が取得で...
おすすめ情報