在C-string中包含双引号(")

Dra*_*scu 8 c string

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

所以我会这样做:

char str[64] = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789'-_""
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,问题最终出现在"角色上.

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

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

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

Gle*_*aum 10

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

像这样:

char str[67] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'-_\"";
Run Code Online (Sandbox Code Playgroud)

最后为隐含的'\ 0'添加了一个(并放入了丢失的vV) - 这也可能是:

char str[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'-_\"";
Run Code Online (Sandbox Code Playgroud)

并让编译器为你计数 - 然后你可以得到计数sizeof(str);

它如何加起来67?

a-z 26
A-Z 26
0-9 10
'-_" 4
'\0' 1
    ---
    67
Run Code Online (Sandbox Code Playgroud)


Bil*_*ain 5

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