Включить двойную кавычку (“) в C-строку

Я бы хотел, чтобы a определяла строку переменных в 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 

Используйте "\"" (обратная косая черта») для помещения " в строку