

環境はVisualStdio.Net 2008のC++
Windowsフォームアプリケーションです。
C++の経験はまったくありません。
unsigned char型の配列 box[12]の中に既にアスキーコードでデータが格納されています。(例:box[0] = 48'0')
これをtextbox->textにアスキーコードではなく文字で格納し、実行時に画面で確認できるようにしたいのですが、
(char)でキャストしてもfomat()で%xや%cにしても「0」でなく「48」で出力されてしまいます。
調べたらVBにはchrという関数があるみたいなんですが、これと同じ機能を持つ関数はVC++にはないのでしょうか?
No.3ベストアンサー
- 回答日時:
むむ、1の方法でも実行時エラーならともかく、コンパイルエラーはでないような気が。
ちゃんとキャストをしなかったからですかね。
textbox->Text = System::String( ( signed char *)box);
とか、
textbox->Text = System::String( ( signed char *)box, 0, 12);
で通りそうです。上は実行時に異常になりますが。
基本的にはこの考え方でいいはずなので、あとは適当にデバッグしてください。
ありがとうございます。
コンパイルエラーはchar*でなかったからだと思います。
あと1文字ずつだったのも問題だったかもしれないです。
あとは自力でがんばります。
どうもありがとうございました。
No.2
- 回答日時:
box[12]の中身が\0で止まっているC文字列なら、
textbox->Text=String( box);
box[12]の中身が12文字のASCIIコードなら、
textbox->Text=String( box, 0, 12);
ASCIIコードが実はシフトJISコードなら、
textbox->Text=String( box, 0, 12, System::Text::Encoding::GetEncoding( "shift_jis"));
おっと、文字列じゃなくて文字でした。
例えば、
textbox->Text=String( box, 0, 1);
こんな感じでしょうか。
回答ありがとうございます。
>box[12]の中身が12文字のASCIIコードなら、
>textbox->Text=String( box, 0, 12);
これです。1番目の方法もやってみたのですがコンパイルエラーでできなかったので.CStringでtextboxに格納していました。\0がないとだめなんですね。
2番目の方法でやってみます!
No.1
- 回答日時:
もう少し実際のコードを抜粋でいいから書いた方がよいでしょう。
・box[12] に値を格納している箇所のコード
・textbox->text に値をコピー(?)している箇所のコード
・キャストしているならその箇所のコード
などなど。
unsigned char 型の変数に値 48 が格納されているなら、printf("%c",..) で「0」と印字されるはずです。
回答ありがとうございます。
実際のコードは会社のセキュリティ上データは持ち出し禁止なため今手元にありません。一部だけノートにメモって来るべきでした。またインターネットも制限があるため会社内ではここ閲覧、書き込みできないため自宅で質問しています。
やりたいことはreadボタンクリックでICカードからIDを読み込み、textboxに出力する処理です。
>・box[12] に値を格納している箇所のコード
ICカードからのデータ取得部分が丸々DLL内にあり、取得している箇所を記述できません。
IDread(hd, cmd, result); (ハンドル、コマンド設定、結果)
でresult構造体内のunsigned char 配列に値が格納されます。
それをmemorycopyで配列boxにコピーして利用しています。
>・textbox->text に値をコピー(?)している箇所のコード
textbox->text = textbox->text + box[i].CString();
これをfor文でまわして12文字格納しています。
>・キャストしているならその箇所のコード
textbox->text = (char)boxi[i];
>unsigned char 型の変数に値 48 が格納されているなら、printf("%c",..) で「0」と印字されるはずです。
ネットで調べるとほとんどがprintfかcoutでの出力したサンプルプログラムだったのでそれは知っているんですが、textboxに出力する場合もprintfで可能なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
このQ&Aを見た人はこんなQ&Aも見ています
-
性格悪い人が優勝
できるだけ性格悪い人になって回答をお願いします。
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
人生で一番思い出に残ってる靴
皆さんの人生で一番思い入れのある靴の話を伺ってみたいです。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
数値をASCII文字にする方法についての質問です。
C言語・C++・C#
-
16進をASCIIコードに変換する手法
C言語・C++・C#
-
Visual Basic でのコードをASCII変換、16進変換したものを元に戻す方法を教えてください
Visual Basic(VBA)
-
-
4
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
5
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
6
MFC通信プログラムマルチスレッドで例外スロー
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
1日に1人がこなせるプログラム...
-
ACCESS2007で環境依存文字へのR...
-
特定行の背景色を変えたいのですが
-
プレースホルダー
-
COBOLの文法
-
変数名「cur」について
-
Nullの使い方が不正です。
-
access2003 クエリSQL文に...
-
エクセル VBA 同じ内容のセル...
-
文字列を検索しその列をコピー...
-
Accessの文字列部分一致を合計...
-
Exel VBA 別ブックから該当デ...
-
Javaの練習(?)をしたいんですが
-
欠番の抽出について
-
オートフィルタで抽出結果に 罫...
-
VSコードでバックスペースキー...
-
ペンダントライトのコードの色...
-
Microsoft Visual Studio Commu...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
access2021 VBA メソッドまたは...
-
Excel VBA素人です。VBAで図形...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
エクセルに見えない文字(JISX0...
-
Nullの使い方が不正です。
-
【VB6】実行ファイルとした後、...
-
VBAでファイルオープン後にコー...
-
オートフィルタで抽出結果に 罫...
-
PreviewKeyDownイベントが2回...
-
JavaScriptの定数名が取り消し...
-
Excel VBAでOpenTextのFieldInf...
-
COBOLの文法
-
ACCESSユニオンクエリでORDER B...
-
Access DCountでの連番について
-
VBA リストボックス(複数条件...
-
C# コードビハインドについて
おすすめ情報