1、多行字符串常量拼接
相邻的字符串字面量会自动连接。可以在不使用任何连接符号(如 +)的情况下,将字符串拆分到多行编写,提高可读性。多个双引号字符串并列写,编译器会自动连接成一个字符串,使用 + 拼接字符串,C语言不支持这样做。字符串中直接换行不闭引号,编译器会报错。
#include <stdio.h>
int main() {
const char *msg = "这是第一行,"
"这是第二行,"
"这是第三行。\n";
printf("%s", msg);
return 0;
}
2、需要包含换行符,可以显式写 \n
多行字符串中,换行也可以使用\n
。
#include <stdio.h>
int main() {
// 定义多行字符串常量
const char* s = "第一行\n"
"第二行\n"
"第三行\n";
// 输出字符串
printf("%s", s);
return 0;
}
3、打印长段文本
适合程序的帮助信息、命令说明、版本信息、调试日志输出等。
#include <stdio.h>
int main() {
const char* helpText =
"使用方法:\n"
" myapp [选项] 文件名\n"
"选项:\n"
" -h, --help 显示帮助信息\n"
" -v, --version 显示版本信息\n";
printf("%s", helpText);
return 0;
}
4、嵌入 HTML 字符串(如生成网页内容)
嵌入 HTML 结构时,方便结构化拼接与可读性,比如生成 HTML 响应内容。
#include <stdio.h>
int main() {
const char* html =
"<html>\n"
" <head><title>欢迎页面</title></head>\n"
" <body>\n"
" <h1>你好,世界!</h1>\n"
" </body>\n"
"</html>\n";
printf("%s", html);
return 0;
}
5、嵌入 SQL 字符串(如数据库查询)
SQL 语句格式清晰、结构清楚,便于后期维护与拼接。
#include <stdio.h>
int main() {
const char* sql =
"SELECT id, name, age\n"
"FROM users\n"
"WHERE age > 18\n"
"ORDER BY age DESC;\n";
printf("执行的 SQL:\n%s", sql);
return 0;
}
6、嵌入 JSON 字符串(如 API 输出)
用于调试 REST 接口或生成 JSON 配置数据。
#include <stdio.h>
int main() {
const char* json =
"{\n"
" \"name\": \"张三\",\n"
" \"age\": 25,\n"
" \"email\": \"zhangsan@example.com\"\n"
"}\n";
printf("JSON数据:\n%s", json);
return 0;
}