2016-11-03 24 views
0

Visual Studio 2013でフォームを作成しましたが、私はC++を使用しています。 私の目標は、テキストボックスから値を読み取り、バイナリファイルに書き込むことです。VC++で変換せずにTextBox値を読み取る方法

私が直面する問題は、16進値を入力すると16進数に変換され、変換せずに書きたいということです。

 Char id1= Convert::ToByte(textBox1->Text); 
     UInt16 id2= Convert::ToInt16(textBox2->Text); 
     UInt32 id3= Convert::ToInt32(textBox3->Text); 

     String^ fileName = "id.id"; 

     FileStream^ fileStr = gcnew FileStream(fileName, FileMode::Append); 
     BinaryWriter^ binwr = gcnew BinaryWriter(fileStr); 

     binwr->Write(id1); 
     binwr->Write(id2); 
     binwr->Write(id3); 

     fileStr->Close(); 
     binwr->Close(); 

私が8041を入力した場合、バイナリファイル8041ではなく1f08を使用したいと思います。 @Someプログラマ男さんに基づき

おかげ

+0

2引数の関数を使用してベースを指定しますか?例えば、 [この 'ToInt32'リファレンス](https://msdn.microsoft.com/en-us/library/1k20k614(v=vs.110).aspx?cs-save-lang = 1&cs-lang = cpp#code-snippet -1)。 –

+0

デバッガは、適切な場所にブレークポイントを置くと、 'id1'、' id2'、 'id3'の値を喜んで表示します。 –

答えて

0

コメント

UInt16 id2= Convert::ToInt16(textBox2->Text, 16); 

は正しい答えです。

ありがとうございます@プログラマのおいおい!

+0

自分の回答を他人を助けるための回答としてマークすることができます。 – Bukhari

+1

私は明日(自分の質問に答えた後48時間)これを行うことが許されています。私はそうします。ありがとうございました。 – ossx

関連する問題