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ランキング
-
へんな現象
-
研究室志望の提出文書
-
応用情報技術者試験の令和元年...
-
gccを行ってもexeファイルが生...
-
質問失礼します。 プログラム言...
-
Notepad++の関数リスト表示でC...
-
Windows formアプリで データグ...
-
Linux Cプログラミングを学ぶた...
-
トリプトファンってケト原性あ...
-
c言語
-
MACで動く実行ファイルをWindow...
-
C言語 列挙型(enum型)変数について
-
右ビットシフト
-
mallocについて
-
C言語 配列と関数の練習問題
-
Bitcoin、BTCはブロックチェー...
-
C++6.0でのresource.hについて
-
VisualStudio2022でC言語プログ...
-
大量のデータを読み込んで表示...
-
c言語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の中に重複文字列があるか...
-
C言語のバイナリモードでのfsca...
-
データの日付でソートをしたい
-
perlで複数行のデータを自由に...
-
perl-cgi 文字の長さでソートし...
-
Visual C++を用いたシリアル通信
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
DOSコマンドで、標準出力を出力...
-
ExcelをCSV書き出す場合のシー...
-
openした後、closeしないでプロ...
-
close()で例外が投げられる理由
-
batファイルでrenameができませ...
-
VBAでCSVファイルを途中行まで...
-
window.open でのファイル指定方法
-
VBAで巨大なファイルの途中から...
-
Perlで特定行から特定行までを...
-
ReadLineでの読み出し行を指定する
-
エクセルVBAで素数だけを出力す...
おすすめ情報