• 締切済み

APIについて

文字列をsjisからjisに変換して、 byte型に格納しているのですが dim data() as byte data()をapi関数に渡しているのですが、 apiに渡すときに、apiでの定義は bdata as byte となっていて、バッファを送信するとあります。 この場合、渡す方法としては、data()の配列数分のloopを 行い、1つずつ渡していく方法になるのでしょうか? よくわからない質問かも知れませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。

みんなの回答

  • piyo2000
  • ベストアンサー率49% (144/293)
回答No.1

>data()の配列数分のloopを >行い、1つずつ渡していく方法になるのでしょうか? jindenさんはC言語の経験はおありでしょうか? おありでしたら分かると思うんですけど・・・ APIがどの関数なのか分かりませんが、bdata以外に「バイト数(Length)」のような項目がありませんか? 実はこの場合はdata(0)を渡してやればいいのです。 # 先頭のIndexがゼロの場合 これはC言語風に言い換えると「ポインタ渡し」に相当します。「(char *c)」と同じ感覚です。 先頭のdata(0)(と、バイト数)を渡してやることによって、API関数側で勝手にバッファを判定します。 またはchr(0)(=NULL文字)を終端につけることによって判定する場合もあります。バッファが文字列であるという前提で、ですけど。

jinden
質問者

お礼

piyo2000さん、ありがとうございます。 残念ながらC言語の経験はありません。 確かにbdata以外にバイト数(Length)も引数で渡すようになっています。 data(0)を渡してやってみます。

関連するQ&A