アプリ版:「スタンプのみでお礼する」機能のリリースについて

UNIX系環境(IRIX)でのシリアル通信プログラムを作成していて、
バイナリデータの送信方法がわからず困っています。
write関数を使い、テキストデータの送信は出来ます。
write(fd,"テキスト",byte)のように。

ただ、今回はバイナリデータ送信を考えており、
例えば1byteのデータ00000001(01H)を送りたいと思っています。
このデータを送る場合、write関数で実現出来るのでしょうか?
write(fd,0x01,1)←イメージです。
色々ネットで調べても出てきません。

開発がWindows環境ではないので、API関数が使えない状況で困っています(MsComm等が使えない)。また、fwrite関数は使用してはいけないみたいです。教えてください。宜しくお願いします。

A 回答 (2件)

> write(fd,0x01,1)←イメージです。



↑では駄目です。

write(fd,"\x01",1);

または

char data[] = { 0x01 };
write(fd, data, 1);

とする必要があります。
    • good
    • 0
この回答へのお礼

こんな簡単なことだったんですか・・・
気づかなかった自分が情けないです。
ありがとうございました。

お礼日時:2008/11/13 23:46

RS-232Cなら、書き込まれたデータが「テキスト」か「バイナリ」かなんて判断は受信したソフトの役割です。


書き込む段階で気にすることではありません。
#てかこの程度のこと試してから聞いてくださいよ
    • good
    • 0
この回答へのお礼

今回シリアル通信プログラムを作成したのが初めてで。。
すみません。プログラミングもかなり未熟なものですから。
ありがとうございました。

お礼日時:2008/11/13 23:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!