Экранирование апострофа в символьном литерале

#c #escaping

#c #экранирование

Вопрос:

Не могли бы вы, пожалуйста, сказать мне, как можно экранировать апостроф.

Мне это нужно для обработки символов без апострофа с помощью файловых операций, поэтому, когда я сталкиваюсь с апострофом ( ' ) Я не могу просто дать ch!=''' . Это не работает. Не могли бы вы, пожалуйста, подсказать мне правильный формат. Спасибо ..:)

Ответ №1:

Используйте ' , например:

 if ( ch != ''' )
  

' это экранирующая последовательность для апострофа.

Погуглите «escape-последовательность», чтобы узнать об этом больше.

Комментарии:

1. Привет ..:) спасибо за ваш ответ.. Только что видел ваш блог .. даже я из ase, ase-bang

Ответ №2:

Вы можете экранировать одиночную кавычку как

 '''
  

например

 while(*p amp;amp; *p != ''') p  ;
  

Это escape-последовательность; обратная косая черта сообщает компилятору, что она следует за ' обычным символом, а не как одна из одинарных кавычек, которыми вы окружаете символ.

Комментарии:

1. «следующий символ должен обрабатываться как обычный символ» … это может быть прочитано как становление 0 и игнорирует восьмеричные и шестнадцатеричные числа.

2. Верно, но я говорю о конкретной escape-последовательности ' … Я не пытаюсь подразумевать, что все escape-последовательности имеют заданную длину.

3. Так и думал, просто хотел указать на возможное недоразумение.