c++ - 在 C++ 中对字符串使用 #define

标签 c++ curl

在尝试使用 cURL 上传图像时,由于下面的代码,我感到很困惑。

#define UPLOAD_FILE_AS  "testImage.jpg"
static const char buf_1 [] = "RNFR " UPLOAD_FILE_AS;
我想明白的是,
  • 定义的确切类型 UPLOAD_FILE_AS :字符/字符串/或其他东西的数组?
  • 在第二行执行的精确操作:在第二行之后,buf_1 变为 "RNFR testImage.jpg" .但第二行只有 "RNFR" 之间有一个空格和 UPLOAD_FILE_AS .我从未听说过空格可以代替“+”运算符或合并函数。这怎么可能?
  • 最佳答案

  • 宏的定义是预处理器风格的,它只是字符序列,恰好在 "" 之内。 .没有类型。宏在编译器(及其类型的概念)开始实际编译之前展开。
  • C++ 将始终连接所有字符序列-内-""。在构建过程中,“A”“B”将始终被处理为“AB”。没有运算符,也没有隐式运算符。这通常用于具有非常长的字符串文字,跨越代码中的几行。
  • 关于c++ - 在 C++ 中对字符串使用 #define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65841540/

    相关文章:

    c++ - 在 typescript 中,如何编写一个函数来处理任意维数组(例如 :Array<number>, Array<Array<number>>,...)?

    c++ - 用字符串重载流插入运算符

    Mac 上 hdiutil 的 C++ 接口(interface)

    php - 如何查明通过 cURL 发送的内容?

    php - Services_Twilio_TinyHttpException 错误 PHP

    c++ - 执行程序时调用任何 cURL 函数都会导致 "entry point not found"

    c++ - 该标准是否指定按值捕获的 lambda 是捕获父对象,还是仅捕获被访问的成员?

    c++ - 为具有许多数据成员的结构定义 == 和 <

    php - EPP 调用上的客户端证书

    ssl - Apache : cURL: ssl3_get_record:wrong version number for apache2 ssl