#define STR_START "
#define STR_END "
int puts(const char *);
int main() {
puts(STR_START hello world STR_END);
}
当我用gcc编译它时(注意:与clang类似的错误),它失败了,出现了以下错误:
$ gcc test.c test.c:1:19: warning: missing terminating " character test.c:2:17: warning: missing terminating " character test.c: In function ‘main’: test.c:7: error: missing terminating " character test.c:7: error: ‘hello’ undeclared (first use in this function) test.c:7: error: (Each undeclared identifier is reported only once test.c:7: error: for each function it appears in.) test.c:7: error: expected ‘)’ before ‘world’ test.c:7: error: missing terminating " character
这有点让我困惑,所以我在预处理器中运行它:
$ gcc -E test.c # 1 "test.c" # 1 "" # 1 "" # 1 "test.c" test.c:1:19: warning: missing terminating " character test.c:2:17: warning: missing terminating " character int puts(const char *); int main() { puts(" hello world "); }
尽管有警告,它仍生成完全有效的代码(粗体文本)!
问题是,即使代码扩展为“hello,world”
,预处理器仍不能将其识别为单个字符串文字标记;相反,它被识别为令牌“
,hello
,,
,世界
,”
的(无效)序列。
N1570:
请注意,在此定义下,'
和“
都不是标点符号。
问题内容: 我必须使用字典中的值格式化字符串,但是该字符串已经包含大括号。例如: 但是,当然会导致KeyErro。 有没有办法使用不同的符号来使用? 这不是我如何在python字符串中打印文字大括号字符并在其上使用.format的重复项?因为我需要保持大括号不变,并为使用不同的定界符。 问题答案: 语境 python 2.7 允许自定义占位符语法的替代方法 问题 我们要在Python str.fo
我使用Netty 4.1.16创建一个服务器。我建立一个管道: 在稍后的代码中,我将创建一个对传入消息的字符串响应,并尝试使用以下命令将其写入ChannelHandlerContext: ... 我的通灵之手是背景。writeAndFlush(字符串消息)失败,原因是 正如我所理解的文档和示例,WriteAndFlush应该向管道写入一个字符串,并且字符串编码器应该在将该字符串转发到套接字进行传输
问题内容: 我们通常使用关键字创建对象,例如: 字符串是对象,但是我们不能用来创建它们: 为什么是这样?我可以用做一个琴弦吗? 问题答案: 除了已经说过的内容外,Java中的字符串文字(即像Java 一样但不喜欢的字符串)是经过内插的-这意味着,每次引用时,你都将引用一个String实例,而不是一个新实例。每一次。因此,你将拥有: 但是如果你有 那么就有可能 (如果有人需要提醒,请务必使用比较字符
问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样
问题内容: 我想分割一个具有如下内容的字符串: 但是当我使用时: 它不能识别$并且不分割字符串,但是当我用$像X这样的字母替换$时,它可以工作。有人有什么主意吗? 问题答案: split函数需要一个正则表达式(而不是字符串)进行匹配。您的正则表达式使用特殊字符-在本例中为’$’-因此您需要对其进行更改以转义该字符: 还要注意,split返回一个字符串数组- 字符串是不可变的,因此无法修改。对Str