LINUX.ORG.RU

Re: строки (специальные символы)

А что ты хотел-то? '\x09B' как раз вписывается в диапазон 0-255

Flogger_d ()

RE:

В данном конкретном случае можно "b\011B", а вообще, конечно, маразм со всем этим...

Murr ★★ ()
Ответ на: RE: от Murr

Re: RE:

Или экранировать последнее 'B', если 16-ричная нотация принципиальна: "b\x09\B".

josephson ★★ ()
Ответ на: Re: RE: от josephson

Re: Re: RE:

А ещё лучше так:
char *str="b\x09""B";

josephson ★★ ()
Ответ на: Re: Re: RE: от josephson

RE:

>char *str="b\x09""B";
Не знаю насчет других компиляторов, а GCC 3 ругается на такое слияние строк (вежливо, правда).

Murr ★★ ()

Re: строки (специальные символы)

> в чем прикол ?

Прикол в том, что в \xXX ровно две шестнадцатеричные цифры (похер - 0, не 0). Так что, если хочешь 9B, надо писать:

char *str = "b\x9B";

anonymous ()
Ответ на: RE: от Murr

Re: RE:

У меня gcc-2.96. "b\x09""B" глотает молча, а вот "b\x09\B" компилит, но с предупреждением: неизвестная esc-последовательность. Поэтому-то я и предложил другую версию.

josephson ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.