• ベストアンサー

scanfでの読み込み文字数制限

scanf( "%10s" , file_name ); とすればfile_nameに読み込む文字数を10バイトに制限できるそうですが、10のところに定数(defineで定義したもの)を指定することはできないのでしょうか? 普通に #define NUM 10 scanf( "%NUMs" , file_name ); としてもできないようでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • symgt
  • ベストアンサー率56% (68/120)
回答No.2

#define NUM 10 のままで sprintf(fmt, "%%%ds", NUM); scanf(fmt , file_name); という方法もあります。

その他の回答 (1)

回答No.1

#define NUM "10" としておいて scanf( "%" NUM "s" , file_name ); とするとか。

hogex
質問者

お礼

その方法で出来ました。ありがとうございました。

関連するQ&A