Mi stavo chiedendo se è possibile creare una stringa (costante) partendo da una macro che definisca un numero. Mi spiego meglio (spero) con un esempio: supponiamo che debba creare una stringa di 10 caratteri. Vorrei che la scanf non acquisica più di 10 caratteri e per questo vorrei definire (non creare) una stringa costante pari a "%10s" per questo esempio. Io ho pensato subito una cosa del genere:
- Codice: Seleziona tutto
#include <stdio.h>
#define N 10
#define stringa(x) "%"#x"s"
int main() {
char c[N]; // per ora questo non serve, ma servirà poi ;)
puts(stringa(N));
return 0;
}
Il codice postato è solo per capire che stringa sto generando... e non genero nulla di buono
. puts() infatti restituisce "%Ns" e non "%10s"... e non ho altre ideeNon so se è chiaro il problema, ma avete un'idea di come fare ad ottenere una stringa da una macro senza usare funzioni C?
Grazie
bye


