我想在C中定义一个包含以下字符集的变量字符串:a-zA-Z0-9'-_”
。
因此我会这样做:
char str[64] = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789'-_""
正如您所看到的那样,问题最后是"
字符。
问题1:我该如何解决这个问题?
问题2:有没有比我更好的方法来定义这样的字符串?
PS:我真的不知道如何标题我的问题,所以如果你有更好的问题,请编辑它。
答案 0 :(得分:9)
使用反斜杠:"\""
是一个包含"
char str[67] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'-_\"";
在结尾添加了一个隐含的'\ 0'(并放入了丢失的vV) - 这也可能是:
char str[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'-_\"";
让编译器为您计算 - 然后您可以使用sizeof(str)
;
它如何加起来67?
a-z 26
A-Z 26
0-9 10
'-_" 4
'\0' 1
---
67
答案 1 :(得分:4)
使用"\""
(反斜杠“)将"
放入字符串