"escape-последовательность в C? - PullRequest
0 голосов
/ 07 октября 2010

Какова escape-последовательность для "" "в C? Другими словами, как я могу попросить выражение while найти вхождение" "'?

Ответы [ 4 ]

11 голосов
/ 07 октября 2010

В символьной константе вам не нужно экранировать символ "; Вы можете просто использовать '"'.

В строковом литерале вам нужно экранировать символ ", так как это разделитель; Вы делаете это с помощью префикса с обратной косой чертой ("\"").

Обратите внимание, что вы можете экранировать символ " в символьной константе ('\"'); это просто не нужно.

1 голос
/ 07 октября 2010

Использование strchr() от string.h

#include <stdio.h>
#include <string.h>

int main ()
{
      char str[] = "This is a sample string with \" another \"";
      char * pch;
      printf ("Looking for the '\"' character in: %s ...\n",str);
      pch=strchr(str,'"');
      while (pch!=NULL)
      {
            printf ("found at %d\n",pch-str+1);
            pch=strchr(pch+1,'\"');
      }
      return 0;
}
1 голос
/ 07 октября 2010

Вы хотите посмотреть "\""

0 голосов
/ 07 октября 2010

Символ '"', код ASCII 34. "In a string literal you escape it like \" this".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...