Visual C++ 2008で作成したWindow Form アプリケーションから,シリアルポートを介して,外部機器を操作しようとしています。
動作としてはフォーム上のテキストボックスに入力された文字を送る,というものです。
外部機器にデータを送る際,データの先頭に ENQ(ASCIIで0x05) を付加して送る必要があります。
0x05を送ったら,外部機器は30,78,30,35が送られてきたものと認識しているようです。
c++からASCIIで0x05を送りたい場合,どのようにプログラムを作成すればよろしいでしょうか?
strings型の文字をASCII文字に変換する関数などはあるのでしょうか?
No.2ベストアンサー
- 回答日時:
No1.さんの回答のほかに、文字列中に書くならば、
8進のエスケープシーケンスで"\005"と書けばよいでしょう。
(コンパイラによっては16進で "\x05" という表記も可能な場合があります。)
これで sprintf(toSend, "\005%s", data); のように書けます。
# たぶん sprintf(toSend, "0x05%s", data); のように書いていて困ったのだと
# 勝手に想像しながら回答しています。
ありがとうございます。
お教えいただいた方法でデータを送信することができました。
また,なにかありましたら,宜しくお願い致します。
No.3
- 回答日時:
通信のdllを作っている関係で配列を使ってしまいますが、単に変数にしたら出来るのかな。
BYTE head_data;
head_data=0x05; // ENQ
serialPort->write(head_data)
No.1
- 回答日時:
例えば
BYTE head_data[1];
head_data[0]=0x05; // ENQ
として、このhead_dataを1バイト送信してから目的の文字列を送れば良いと思います。
あるいは必要な配列を取っておいて、先頭に0X05を入れ、二バイト目からテキストボックスの文字列を入れて、配列の先頭から送信するとかですね。
ご回答ありがとうございます。
シリアルポートからデータを送るために
serialPort->write(head_data[0])
と,書いたらビルドエラーになってしまいました。
配列ですので変数と同じようには扱えないのでしょうか?
C++について無知過ぎてわかりませんので,なにとぞご教授お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
だれがとけるの?
-
バッチファイルで以下のような...
-
VisualStudio2022でC言語プログ...
-
C言語関数違いについて。
-
win10で、正確な待ち時間の作り方
-
C言語 列挙型(enum型)変数について
-
大量のデータを読み込んで表示...
-
Linux Cプログラミングを学ぶた...
-
Windows Formアプリからコンソ...
-
S-JIS → JIS コード変換するには
-
Linuxでの開発環境構築や設定の...
-
こんなことてしますか??
-
double型が正常に認識されてい...
-
MACで動く実行ファイルをWindow...
-
LinuxカーネルのCFSで用いられ...
-
Int('1234') で、strをかんたん...
-
gcc13.2のバグ?
-
C言語 バッファについて。
-
PC画面を録画するプログラムでd...
-
C言語階乗の総和を求める
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の中に重複文字列があるか...
-
perlで複数行のデータを自由に...
-
Visual C++を用いたシリアル通信
-
C言語のバイナリモードでのfsca...
-
perl-cgi 文字の長さでソートし...
-
Pythonの再帰関数の動作の流れ...
-
Perl ファイルを読込んで日付の...
-
@の配列変数ではなく$のスカラ...
-
C言語でバイナリファイルの読み...
-
データの日付でソートをしたい
-
配列のサイズを動的に拡張
-
単純なお問い合わせフォーム
-
3行ずつ足す
-
どのようなプログラムをつくれ...
-
条件判定文でのパタンマッチが...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
おすすめ情報