![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Microsoft Visual C++ 2010 Expressでプログラミングしています。
RecvBufという文字列に入った特定の位置の6バイトのデータを取り出したいと思っています。
それで、その6バイトには、TCP通信でアクセスしてきたクライアントのシリアル番号があるので、どのクライアントPCがつながってきたかを識別するため、その6バイト数値を16進数の文字列に変換してprintfで出力したいと思っています。
例えば
RecvBuf[0x08] = 0x00
RecvBuf[0x09] = 0x11
RecvBuf[0x0a] = 0x22
RecvBuf[0x0b] = 0x33
RecvBuf[0x0c] = 0x44
RecvBuf[0x0d] = 0x55
というデータ数値が入っていた場合、これを文字に変換する方法はどのようにしたら良いでしょうか?
No.1ベストアンサー
- 回答日時:
「文字に変換する」って, どういうこと?
単に %x で出しちゃいかんの?
No.2
- 回答日時:
#1さんの回答で必要十分だと思いますが、もしかして%02xを知らないのかなと思ったので書きます。
あとは、snprintfやfor文がわからなくて、こういうのをわからないとか?
#define SERIAL_SIZE 6
#define OFFSET 0x08
char buf[sizeof(char) * SERIAL_SIZE + 1];
for (int i = 0; i < SERIAL_SIZE; i++) {
snprintf(&buf[i * sizeof(char) * 2], 3, "%02x", RecvBuf[OFFSET + i]);
}
printf("%s", buf);
そもそも、printfしたいだけだったらsnprintfを持ち出すまでもなく、もっと単純にこれでよいと思いますが。
for (int i = 0; i < SERIAL_SIZE; i++) {
printf("%02x", RecvBuf[OFFSET + i]);
}
(◎○◎) 大変もうしわけありません。確かにそれで出ますね。助かりましたw
また、いろいろと細かいコードもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- C言語・C++・C# 【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法 4 2023/05/09 15:08
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Excel(エクセル) Excelの関数についておしえてください。 3 2023/04/20 18:36
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
fgets関数を使用したときの文字...
-
文字列中に含まれる文字の個数...
-
C++
-
charと%c , %s の関係について
-
C言語 空白の行(改行のみ)が...
-
反転した数値を表示させるやり方
-
sscanfとscanfの違いがよくわか...
-
C言語 ポインタを使用した文字...
-
fgetsで拾われる改行文字を削除...
-
ある文字列で2回目3回目に出現...
-
C++でランレングス符号化のプロ...
-
gets fgetsについて
-
文字列→数値変換関数
-
C言語のステップ数をカウントす...
-
itoaわかりません
-
単語数のカウントについて
-
strstrを利用しない文字列検索...
-
VC++ 再帰関数
-
C言語で16進数文字列から16進数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
fgets関数を使用したときの文字...
-
反転した数値を表示させるやり方
-
Cで「大文字、小文字の判定」は...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
strstrを利用しない文字列検索...
-
C言語 空白の行(改行のみ)が...
-
fgetsで拾われる改行文字を削除...
-
文字列中に含まれる文字の個数...
-
C言語で16進数文字列から16進数...
-
itoaわかりません
-
文の意味
-
C言語 strlen 再入力を促す
-
fgetsでバッファ残留文字列を無...
-
全角文字のチェック
-
C++
-
ブランクのチェック
-
C言語、単語ごとに改行したい
おすすめ情報