[mdk-re] C/C++ question
Egor Azanov
=?iso-8859-1?q?kr0n_=CE=C1_mail=2Eru?=
Пн Апр 30 14:28:11 MSD 2001
>Здравствуйте!
>
>Это звучит немножко оффтопик, но хочется посоветоваться.
>
>В одной программе на "двухкрестовом" столкнулся со строчкой,
>наподобие следующего отрывка:
>
>char buf[BUFSIZ];
>// ...
>if ( buf[0] == '\n' || buf[0] == '<cr>' )
> ^^^^^^^^^^^^^^^^
>{
> // ...
>}
>
>Ни я, ни компилятор этого места не поняли. Компилятору проще, он
>пожаловасля на то, что вовремя не нашел парный ':). А я вообще
>теряюсь в загадках. Я понимаю, что можно (в С) инициализировать
>int с помощью двух символов, но можно ли так инициализировать
>32-битный int? И на какой же интеллект компилятора все это
>рассчитано, если предполагается, что надо разыменованый указатель
>на char привести к разыменованному указателю на int только
>потому, что в правой части оператора сравнения имеется символьный
>литерал, который имеет смысл только для инициализации 32-битного
>целого? Я из виндового мира, может, чего не понимаю? Просветите,
>у кого есть время и молоко:)
>
>Второй вопрос "чисто конкретный":) поиск по '<cr>' никак не идет
>ни в nedit, ни в mc. Про спецсимволы вроде читал, но чего-то не
>понимаю, как надо все оформить, чтобы стало искать именно такой
>образец?
>
Насколько я понял, требуется найти LF (он же \n) и CR (он же не <cr>, а \r). Поэтому и искать надо символ '\r'.
--
Egor Azanov
UIN: 88947344
<kr0n на mail.ru>
Подробная информация о списке рассылки community