- 締切済み
APIについて
文字列をsjisからjisに変換して、 byte型に格納しているのですが dim data() as byte data()をapi関数に渡しているのですが、 apiに渡すときに、apiでの定義は bdata as byte となっていて、バッファを送信するとあります。 この場合、渡す方法としては、data()の配列数分のloopを 行い、1つずつ渡していく方法になるのでしょうか? よくわからない質問かも知れませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。
- みんなの回答 (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文字)を終端につけることによって判定する場合もあります。バッファが文字列であるという前提で、ですけど。
お礼
piyo2000さん、ありがとうございます。 残念ながらC言語の経験はありません。 確かにbdata以外にバイト数(Length)も引数で渡すようになっています。 data(0)を渡してやってみます。