私は次のコードを持っています:
scanf(" %Xs %Ys", buf1, buf2);
ここで、XとYは整数である必要があります。問題は、XとYの値がコンパイル時定数であり、値をフォーマット文字列にハードコーディングしたい場合でも、値がわからないためにできないことです。printfでは、「%* s」を使用して、引数とともに幅変数を送信できます。scanfに類似したものはありますか?
編集:明確にするために、定数はコンパイル時に知られていますが、コーディング時には知られておらず、私にはまったく知られていません。それらはプラットフォームや実装によって異なる場合があり、完了後に変更される場合があります。そうしなかったとしても、バッファサイズをフォーマット文字列で複製したくないので、同期を維持するのを忘れた瞬間にセグメンテーション違反を起こす準備ができています。