C'è un modo per ottenere il pre-processore C++ per espandere un valore # define in una stringa letterale?
per esempio:Puoi espandere # define in string letterali?
#define NEW_LINE '\n'
Printf("OutputNEW_LINE"); //or whatever
Questo mi sembra che dovrebbe essere possibile in quanto è prima della compilazione?
Oppure esiste un modello di progettazione migliore per ottenere questo tipo di comportamento (senza ricorrere a correzioni di runtime come sprintf)?
EDIT Capisco che # definiscono di può essere il male, ma per amor di argomenti ...
ULTERIORI Qualcuno ha qualche critica di questo approccio?
@GMan qualsiasi alternativa 'meno brutta'? –
Bene, puoi usare \ n direttamente in Stringhe. Lo standard C impone che questo singolo carattere venga esteso a qualsiasi piattaforma utilizzata come delimitatore/terminatore di riga, almeno quando si scrive su file di testo e sulla console. – Joey