|
■No5915 (Blue さん) に返信
ご返答有難うございます。 > よく見たら > >sprintf(getVer, '\0', (const char *)bVersion); //A const charでキャストし、char型の文字配列に格納 > ってあっていますか? > 単なるコピーならstrcpyでよいのでは?
間違っておりました。以下のように格納しました。
sprintf(getVer, '%s', (const char *)bVersion);
> 単なるコピーならstrcpyでよいのでは?
b_str_t 型の変数に対して、strcpy()を使用できたのですか? てっきり、str関数は使えないものと思っておりました。 ちなみに、b_str_t 型はNULL保障されているのでしょうか? > >元データが固定長(128byte以下、常に固定長)で保障されているような場合 > なら大丈夫だと思います。 > > けど、C#側のコードを見てみないと確証はないです。 > (できるならC側で領域を用意してC#側でそれに入れるというようなつくりにしたほうが間違いないと思う。)
勝手な理由ですが、今の作りを変えたくないというのが、正直な気持ちで・・・ 現時点では、元データのサイズを計り、それを超えていたら、フォーマットエラーにするというのが 自分にとって、ベストと思っております。 あとは、b_str_t 型のサイズを計る方法を調べてみます。 わからない場合には、またお尋ねしてしまうかもしれませんが よろしくお願い致します。 今回のアドバイスには本当に助かりました。 ありがとうございました。
|