Элементарная ситуация, но решения не нашел.
Как включить ЗНАЧЕНИЕ константы, объявленной с помощью #define, в кавычки. Т.е. чтобы получиось примерно так
#define Stroka Znachenie
char* GetStroka()
{
return "--- Stroka ---"
}
И функция GetStroka должна возвращать указатель на строку --- Znachenie ---, а не на --- Stroka ---
Что нужно добавить, кто-н подскажет?
Здравствуйте, danclax, Вы писали:
D>D>#define Stroka Znachenie
D>char* GetStroka()
D>{
D> return "--- Stroka ---"
D>}
D>
D>И функция GetStroka должна возвращать указатель на строку --- Znachenie ---, а не на --- Stroka ---
Так просто не получится. Надо примерно так (с выпендрежем):
#define Kavichki(v) #v
#define Stroka Kavichki(Znachenie)
char* GetStroka()
{
return "--- " Stroka " ---";
}
Или проще:
#define Stroka "Znachenie"
char* GetStroka()
{
return "--- " Stroka " ---";
}
danclax wrote:
> Элементарная ситуация, но решения не нашел.
>
> Как включить ЗНАЧЕНИЕ константы, объявленной с помощью #define, в кавычки. Т.е. чтобы получиось примерно так
>
> >
> #define Stroka Znachenie
>
> char* GetStroka()
> {
> return "--- Stroka ---"
> }
>
>
>
> И функция GetStroka должна возвращать указатель на строку --- Znachenie ---, а не на --- Stroka ---
> Что нужно добавить, кто-н подскажет?
#define __STR(x) #x
#define STR(x) __STR(x)
#define Stroka Znachenie
char* GetStroka()
{
return "--- " STR(Stroka) " ---";
}
--
Maxim YegorushkinPosted via RSDN NNTP Server 1.9