Роберт С. Сикорд - Эффективный С. Профессиональное программирование
Название: | Эффективный С. Профессиональное программирование | |
Автор: | Роберт С. Сикорд | |
Жанр: | Программирование: прочее, C, C++, C# | |
Изадано в серии: | Библиотека программиста | |
Издательство: | Питер | |
Год издания: | 2022 | |
ISBN: | 978-5-4461-1851-9 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Эффективный С. Профессиональное программирование"
Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный C. Профессиональное программирование» восполняет этот пробел и предлагает современный взгляд на C. Здесь рассмотрен C17, а также потенциальные возможности C2x. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи.
Читаем онлайн "Эффективный С. Профессиональное программирование". [Страница - 103]
для программы командной строки, как показано в листинге 10.2.
Структурирование простой программы 261
Листинг 10.2. Вывод справочной информации
// Выводим справочный текст в командной строке
static void print_help(void) {
printf("%s", "primetest num1 [num2 num3 ... numN]\n\n");
printf("%s", "Tests positive integers for primality. Supports testing
");
printf("%s [2-%llu].\n", "numbers in the range", ULLONG_MAX);
}
Функция print_help состоит из трех отдельных вызовов printf, которые
записывают в стандартный вывод текст с объяснением о том, как использовать эту команду.
Аргументы командной строки передаются программе в текстовом виде,
поэтому мы определяем служебную функцию, чтобы преобразовать их
в целочисленные значения, как показано в листинге 10.3.
Листинг 10.3. Преобразование отдельного аргумента
командной строки
// Преобразует строковый аргумент arg в значение unsigned long long,
// на которое ссылается val
// Возвращает true, если преобразование аргументов было успешным,
// и false, если нет
static bool convert_arg(const char *arg, unsigned long long *val) {
char *end;
// strtoll возвращает внутренний индикатор ошибки; очистите errno
// перед вызовом
errno = 0;
*val = strtoull(arg, &end, 10);
//
//
if
if
if
}
Отслеживаем ошибки, когда вызов возвращает контрольное значение
и устанавливает errno
((*val == ULLONG_MAX) && errno) return false;
(*val == 0 && errno) return false;
(end == arg) return false;
// Если мы попали сюда, нам удалось преобразовать аргумент.
// Но мы хотим допускать только
// значения больше 1, поэтомы мы отбрасываем все значения --">
Книги схожие с «Эффективный С. Профессиональное программирование» по жанру, серии, автору или названию:
Александр Анатольевич Сорокин - Объектно-ориентированное программирование. LAZARUS (Free Pascal): лабораторный практикум Жанр: Pascal, Delphi, Lazarus и т.п. Год издания: 2014 |
Эрик Чоу - Python для сетевых инженеров. Автоматизация сети, программирование и DevOps Жанр: Python Год издания: 2023 Серия: Для профессионалов |
Коллектив авторов - Сборник задач и упражнений по высшей математике. Математическое программирование. Учебное пособие Жанр: Математика Год издания: 2010 Серия: Учебники для вузов. Специальная литература |
Другие книги из серии «Библиотека программиста»:
Стивен Холзнер - XSLT Жанр: Программирование: прочее Год издания: 2002 Серия: Библиотека программиста |
Энтони Шоу - Внутри CPYTHON: гид по интерпретатору Python Жанр: Python Год издания: 2023 Серия: Библиотека программиста |
Скотт Чакон, Бен Штрауб - Git для профессионального программиста Жанр: Программирование: прочее Год издания: 2016 Серия: Библиотека программиста |
Кайл Симпсон - Область видимости и замыкания Жанр: Учебники и самоучители по компьютеру Год издания: 2022 Серия: Библиотека программиста |