Возможно ли получить значение макроса со строкой, содержащей имя #define? Или невозможно получить доступ к макросу через его имя после компиляции кода?Как получить значение макроса со строкой, содержащей имя макроса?
Чтобы указать, что я после:
#define NAME "VALUE"
char string[5];
// I want the content of string to be changeable to access any define
strncpy(string, "NAME", 4);
fprintf(stderr, "%s\n", string);
Я хочу иметь выход: VALUE
EDIT Благодаря ответ Мохамеда я нашел это решение:
#define NAME "VALUE"
char string[5];
strncpy(string, "NAME", 4);
if(strncmp(string, "NAME", 4) == 0) {
fprintf(stderr, "%s\n", NAME);
}
макросы работают только на замены текста – aaronman
Sure: 'strncpy (строка, имя, отчество, 4);' –
@ Н2СО3 Не так, что: строка имеет место только для 5 символов и копирование только 4 результатов в "VALU" ... – Jens