文字が変換されない。 – プログラミング – Home

通知
すべてクリア

[解決済] 文字が変換されない。


VC
 VC
(@VC)
ゲスト
結合: 21年前
投稿: 4
Topic starter  

お世話になっています。
Windows2000下VC++6で使っています。

char DCh[3][134];
int    L2 = 0;
char    PreHeader[2];
int kc[3];

for (L2=0;L2<3;L2++)
   DCh[L2][1] = sprintf(PreHeader,%d,kc[L2]);

において、
Preheader
に入って来るのと同じ、文字を
DCh[L2][1]
に入れたいのですが、同じものが入って来ません。

たとえば、
PreHeader = '5';
のところが、
DCh[L2][1] = 1 '/';
とか。

何が悪いのでしょうか?


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

sprintfの戻り値が何であるかご存知ですか?


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

まずsprintfの仕様をよく読みましょう

PreHeaderの代わりに&DCh[L2][1]を入れてみれば

但し、VCさんの考えている処理が我々ではまったく不明です。
このまま作っても多くのバグが残るでしょう。

普通PreHeaderのところにDCh[L2]とすればいいのですが
なぜDCh[L2][1]としているのか???


返信引用
VC
 VC
(@VC)
ゲスト
結合: 21年前
投稿: 4
Topic starter  

失礼しました。

HELPで見ると、
sprintf 関数は、buffer に格納した文字数を返します。
でした。

sprintf(DCh[L2][1],%d,kc[L2]);
に変えてうまくいきました。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

> sprintf(DCh[L2][1],%d,kc[L2]);
> に変えてうまくいきました。

そんなバカな。 型がデタラメやんか。


返信引用
kara
 kara
(@kara)
ゲスト
結合: 21年前
投稿: 2
 

> そんなバカな。 型がデタラメやんか。
おもわず笑ってしまった

おそらく
sprintf(DCh[L2],%d,kc[L2]);
と書きたかったのだろうと思われますが・・・

もしかしたら
sprintf(&DCh[L2][1],%d,kc[L2]);
もしくは
char* DCh[3][134];
だったとか・・・


返信引用
VC
 VC
(@VC)
ゲスト
結合: 21年前
投稿: 4
 

申し訳ございません。

sprintf(DCh[L2],%d,kc[L2]);
でした。


返信引用
VC
 VC
(@VC)
ゲスト
結合: 21年前
投稿: 4
 

以上


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました