【发布时间】:2013-12-08 20:14:50
【问题描述】:
我想在 C 中定义一个包含以下字符集的变量字符串:a-zA-Z0-9'-_”。
因此我会这样做:
char str[64] = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789'-_""
如您所见,问题以" 字符结尾。
问题 1:我该如何解决?
问题2:有没有比我这样定义字符串更好的方法?
PS:我真的不知道如何命名我的问题,所以如果你有更好的,请编辑它。
【问题讨论】:
-
转义最后一个引号:
\" -
用反斜杠转义它:
"\""。请注意,使用str[64]您有足够的空间容纳所有 64 个字符,但没有足够的空间容纳空终止符。根据您计划如何使用字符串,这可能是一个问题。但是,通过这种初始化,指定长度是可选的,因此char str[] = "...";是有效的,并且会自动使缓冲区大到足以包含字符串 + 空终止符。 -
除非你省略了一些我没有注意到的字母,那是 66 个字符。
-
@HotLicks 我将它复制并粘贴到记事本 ++ 中,其中包含 64 个字符:其中没有 v(大写或小写)。
-
丘吉尔会失望的。