gpt4 book ai didi

c++ - 在 printf 中使用#define?

转载 作者:搜寻专家 更新时间:2023-10-31 00:05:08 26 4
gpt4 key购买 nike

我想为应用程序 ID 使用某种常量(这样我就可以在 printf 中使用它)。

我有这个:

#define _APPID_ "Hello World!"

然后是简单的 printf,将其调用到 %s(字符串)中。它把这个放出来了:

simple.cpp:32: 错误:无法将参数“1”的“_IO_FILE*”转换为“const char*”到“int printf(const char*, ...)”

我将使用什么来定义要在 printf 中使用的应用程序 ID?我试过了:

static const char _APPID_[] = "Hello World"`

但它没有用,我认为是同样的错误。

最佳答案

我不确定我是否完全理解您的尝试...但这有效:

#include <stdio.h>

#define _APPID_ "Hello world"

int main()
{
printf("The app id is " _APPID_ "\n");
/* Output: The app id is Hello world */
return 0;
}

当出现两个背靠背的常量字符串时(即 "hello ""world"),编译器将它们视为一个连接的常量字符串("hello world" >).

这意味着在尝试printf 编译时常量字符串的情况下,您不需要使用printf("%s", _APPID_)(尽管它应该仍然有效)。

关于c++ - 在 printf 中使用#define?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com