私は定数を定義しています:
#define MAX_STR_LEN 100
私はこれをやろうとしています:
scanf("%" MAX_STR_LEN "s", p_buf);
しかしもちろん、それは機能しません。
上記のscanf呼び出しで使用できるように、MAX_STR_LEN数値を文字列に変換するために使用できるプリプロセッサのトリックは何ですか?基本的に:
scanf("%" XYZ(MAX_STR_LEN) "s", p_buf);
XYZ()はどうあるべきですか?
注:もちろん、「%100s」を直接実行することはできますが、それでは目的が果たせません。#define MAX_STR_LEN_STR "100"を実行することもできますが、より洗練されたソリューションを望んでいます。