在C字符串中包含双引号(“)

我想在C中定义一个包含以下字符集的变量字符串: a-zA-Z0-9'-_”

所以我会这样做:

 char str[64] = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789'-_"" 

正如你所看到的那样,问题最终是"性格”。

问题1:我该如何解决这个问题?

问题2:有没有比我更好的方法来定义这样的字符串?

PS:我真的不知道如何标题我的问题,所以如果你有更好的问题,请编辑它。

使用反斜杠: "\""是一个包含"的字符串"

像这样:

 char str[67] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'-_\""; 

最后为隐含的’\ 0’添加了一个(并放入了缺少的vV) – 这也可能是:

 char str[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'-_\""; 

并让编译器为你计数 – 然后你可以用sizeof(str)获得计数;

它如何加起来67?

 az 26 AZ 26 0-9 10 '-_" 4 '\0' 1 --- 67 

使用"\"" (反斜杠”)将"放入字符串中”