Great: Сначала бы посмотрел повнимательнее Чем же по твоему 13 отличается от 0Dh?????? А вот это действительно провакация В dos/windows \n = 0Dh,0Ah, т.е. комбинации \r\l. И никак иначе. Просто символ \n введен для кроссплатформенности. В некоторых системах \n=\l, а вот в dos/win \n=\r\l.
Ещё есть макросы от Four-F. Можно найти в KmdKit. Всё пишется вообще просто: invoke DbgPrint, $CTA0("Entering DriverEntry\n") например вот так :]
AndNot Сами придумали спец-символ "\l"? Бред полнейший. Чем такое писать посмотрели бы лучше какой код генерит транслятор в следующем случае //-----test.c----- char buf1[] = "string\r"; char buf2[] = "string\n"; char buf3[] = "string\r\n"; //-----test.c----- Для пущего удовлетворения можете проделать это как на юникс, так и на виндовс. Я всегда мучался вопросом - зачем туманить сознание новичкам такой охинеей? Новый вид троллинга? Great полностью прав.
mathio AndNot спутал \r\l с CR LF. Ничего подобного. \n - это действительно переносимый спецсимвол, и на разных платформах он разворачивается по-разному.
Не вижу смысла :O ? Чего его путать то? Это он и есть. Где видел - не помню. Скорее всего в сорсах, той же printf. Возможно что еще на советских компах, но точно не помню, да и мне пох., есть это в стандарте или нет, я встречал, вот и привел пример. Это я еще не все привел, есть еще несколько. mathio, боюсь что это ты бред несешь. В досе для перевода курсора на новую строку необходимо два символа - 0Dh,0Ah. В никсах - только 0Dh. Но и под дос и под никсы пишут только \n, а курсор переводится. Чего здесь непонятного? Сам то пробовал код дизассемблить? Вот и я про то же :-?
Товарищи, TechHelp не судьба посмотреть? Код (Text): Dec Hex Ctl Name Control Meaning │ Dec Hex Ctl Name Control Meaning ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ │ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ 0 00 ^@ NUL null (end string) │ 16 10 ^P DLE data line escape 1 01 ^A SOH start of heading │ 17 11 ^Q DC1 dev ctrl 1 (X-ON) 2 02 ^B STX start of text │ 18 12 ^R DC2 device ctrl 2 3 03 ^C ETX end of text │ 19 13 ^S DC3 dev ctrl 3 (X-OFF) 4 04 ^D EOT end of transmission │ 20 14 ^T DC4 device ctrl 4 5 05 ^E ENQ enquiry │ 21 15 ^U NAK negative acknowledge 6 06 ^F ACK acknowledge │ 22 16 ^V SYN synchronous idle 7 07 ^G BEL bell │ 23 17 ^W ETB end transmit block 8 08 ^H BS backspace │ 24 18 ^X CAN cancel 9 09 ^I HT TAB horizontal tab │ 25 19 ^Y EM end of medium 10 0a ^J LF line feed │ 26 1a ^Z SUB substitute 11 0b ^K VT vertical tab │ 27 1b ^[ ESC escape 12 0c ^L FF form feed │ 28 1c ^\ FS file separator 13 0d ^M CR carriage return │ 29 1d ^] GS group separator 14 0e ^N SO shift out │ 30 1e ^^ RS record separator 15 0f ^O SI shift in │ 31 1f ^_ US unit separator Сишный компилятор (БЦ 3.1) /n заменяет на 0ah (LF), но на экран всё выводится нормально (при выводе функциями stdio.h). При выводе же conio.h (например csprintf), для правильного вывода необходимо писать /r/n. Напрашивается вывод о том, что функции stdio сами добавляют к переводу строки возврат каретки при выводе. Вывод: в DOS/vin писать 13,10 (0dh,0ah), в *nix 10 (0ah)
Ничего подобного. Специально попробовал (BCB 6.0), не нужно никаких комбинаций. Опять неверно. Парсинг строки делает компилятор, а в функции (stdio/conio) строка попадает уже в обработанном виде. В общем глянул старые доки, \l не нашел(наверное действительно в самопале видел), зато нашел прикол. Итак, таблица ескейпов из стандарта ANSI C: А это уже из док на Turbo C++: Как ясно видно символ \n в ANSI определен как перевод на новую строку, без уточнения кода (и нигде в доках я его не нашел). Это и обеспечивало кроссплатформенность, позволяя подставлять, на его место, то что требовалось для конкретной ОС, для доса 13,10. А вот с \b довольно забавно, кому верить????? PS: в свое время разгрустал сотни сорсов, но никогда не встречал комбинации \r\n, только \n. И все прекрасно работало.
Посмотри откомпиленный ехешник, в нём строка лежит именно так, как я написал (БЦПП 3.1). А у меня нужно Мистика?