Konvertieren einer #definierten Konstanten Zahl zu einem string

Habe ich eine Konstante definiert:

#define MAX_STR_LEN 100

Ich versuche, dies zu tun:

scanf("%" MAX_STR_LEN "s", p_buf);

Aber natürlich nicht funktioniert.

Was Präprozessor-trick verwenden können, um zu konvertieren der MAX_STR_LEN numerica in einen string damit ich Sie in die oben scanf-Aufruf ? Grundsätzlich:

scanf("%" XYZ(MAX_STR_LEN) "s", p_buf);

Was soll XYZ() sein ?

Hinweis: ich kann natürlich tun, "%100s" nicht direkt, aber das Niederlagen der Zweck. Ich kann auch #define MAX_STR_LEN_STR "100", aber ich hoffe auf eine elegantere Lösung.

InformationsquelleAutor Sid Datta | 2012-09-29
Schreibe einen Kommentar