LINUX.ORG.RU

Порекомендуйте различное чтиво по Си

 , ,


2

1

Керниган и Ритчи рулят, я знаю. Code complete тоже имеется, даже в бумажном виде. Больше беспокоит то, что я не могу вникнуть сходу в то, как работают различные библиотеки.

Как пример, Glibc в одних местах читаема, в других я ничего не понимаю, взять тот-же wcstok (http://codepad.org/E0UfAg1K), где почти ничего не понятно. Хотелось вникнуть, как вообще устанавливаются указатели, чтобы отрезать кусок wchar_t слева и справа строки, пока ясно только добавление числа к указателю, выбирающее начальный символ слева.

Возможно, я что-то пропустил у K&R по теме, даже очень на то похоже. Пригодится и подсказка по этому куску (как указателями ограничивается строка слева и справа) и различное общее и годное чтиво, связанное с Си и *nix, спасибо.

Потом, wcstok — это же вроде токенайзер. Он только с одной стороны отрезает. Слева направо.

Burbaka ★★
()

Керниган и Ритчи рулят

Еще рулят Харбисон и Стил. А применительно к Unix — Стивенс и Раго.

glibc

Это лютый ад.

http://codepad.org/E0UfAg1K

Чтд, с первой строчки, где старый стиль объявления параметров.

Хотелось вникнуть, как вообще устанавливаются указатели

Описание функции wcspbrk читали?

buddhist ★★★★★
()
Ответ на: комментарий от Burbaka

Да, отрезает с одной стороны и возвращает указатель на первый символ после токена, чтобы можно было несколько раз подряд вызвать.

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от Burbaka

Burbaka, 1) я видел MSDN'овский вариант, но спасибо. Просто понятно, что оно ищет начальный символ и отдаёт указатель, ставит delimiter. А вот как ставит delimiter и срезает остальной кусок wchar_t - не особенно. 2) А почему у меня и даже в гайде msdn'a отрезаются слова целиком? Та-же ссылка:

Tokens:
 A
 string
 of
 tokens
 and
 some
 more
 tokens

nnm, выглядит интересно, спасибо за чтиво.

KM155TM2
() автор топика
Ответ на: комментарий от buddhist

My bad. Я перепутал символ-ограничитель с нулевым символом.

KM155TM2
() автор топика

Ульрих Дреппер «Что каждый программист должен знать о памяти». Сэкономить кучу бессонных ночей дебага, гарантирую.

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