[mdk-re] C/C++ question

Serge Skorokhodov =?iso-8859-1?q?suralis_=CE=C1_pisem=2Enet?=
Пн Апр 30 14:09:11 MSD 2001


Здравствуйте!

Это звучит немножко оффтопик, но хочется посоветоваться.

В одной программе на "двухкрестовом" столкнулся со строчкой,
наподобие следующего отрывка:

char		buf[BUFSIZ];
// ...
if ( buf[0] == '\n' || buf[0] == '<cr>' )
                       ^^^^^^^^^^^^^^^^
{
   // ...
}

Ни я, ни компилятор этого места не поняли. Компилятору проще, он
пожаловасля на то, что вовремя не нашел парный ':). А я вообще
теряюсь в загадках. Я понимаю, что можно (в С) инициализировать
int с помощью двух символов, но можно ли так инициализировать
32-битный int? И на какой же интеллект компилятора все это
рассчитано, если предполагается, что надо разыменованый указатель
на char привести к разыменованному указателю на int только
потому, что в правой части оператора сравнения имеется символьный
литерал, который имеет смысл только для инициализации 32-битного
целого? Я из виндового мира, может, чего не понимаю? Просветите,
у кого есть время и молоко:)

Второй вопрос "чисто конкретный":) поиск по '<cr>' никак не идет
ни в nedit, ни в mc. Про спецсимволы вроде читал, но чего-то не
понимаю, как надо все оформить, чтобы стало искать именно такой
образец?

-- 
Serge Skorokhodov aka suralis
mailto:suralis на pisem.net




Подробная информация о списке рассылки community