3.2.1.9. Только GLIBC: чтение целых строк: getline() и getdelim() Теперь, когда вы увидели, как читать строки произвольной длины, вы можете сделать вздох облегчения, что вам не нужно самим писать такую функцию. GLIBC предоставляет вам для этого две функции:#define _GNU_SOURCE 1 /* GLIBC */#include <stdio.h>#include
Пример: чтение разрешений на доступ к файлу Программа 15.4 представляет собой функцию ReadFilePermissions, которая используется программами 15.1 и 15.2. Эта программа методично использует описанные выше функции для извлечения нужной информации. Правильная работа этой программы
Пример: передача текстовых строк между клиентом и сервером Изменим наш сервер так, чтобы он, по-прежнему принимая текстовую строку от клиента, предполагал, что строка содержит два целых числа, разделенных пробелом, и возвращал сумму этих чисел. Функции main наших клиента и
Видовые экраны произвольной формы Удобными представляются возможность создания в пространстве листа непрямоугольных видовых экранов и связывание с видовыми экранами контуров подрезки, благодаря которым их видимая форма может быть любой.При создании видового экрана
Пример: блокировка на чтение при наличии в очереди блокировки на запись Первый вопрос, на который мы попытаемся найти ответ, звучит так: если ресурс заблокирован на чтение и какой-то процесс послал запрос на установление блокировки на запись, будет ли при этом разрешена
Пример: имеют ли приоритет запросы на запись перед запросами на чтение? Следующий вопрос, на который мы попытаемся дать ответ, таков: есть ли приоритет у запросов на блокировку записи перед запросами на блокировку чтения, если все они находятся в очереди? Некоторые
Сравнение строк разной длины Но что будет, если придется сравнивать строки неравной длины? Если начало одной строки в точности совпадает с другой, более короткой строкой, то длинная строка считается больше короткой. Например:"В горах, в пещере" > "В горах" дает в
Создание выделения произвольной формы Для создания выделения применяется целый ряд инструментов, каждый из которых предназначен для решения своих особых задач:• Rectangular Marquee (Прямоугольное выделение) – создает выделения прямоугольной и квадратной формы;• Elliptical Marquee
ПРИМЕР: СОРТИРОВКА СТРОК Возьмем реальную задачу сортировки строк в алфавитном порядке. Эта задача может возникнуть при подготовке списка фамилий, при создании алфавитного указателя и во многих других ситуациях. В такой программе одним из главных инструментов
Видовые экраны произвольной формы Удобными представляются возможность создания в пространстве листа непрямоугольных видовых экранов и связывание с видовыми экранами контуров подрезки, благодаря которым их видимая форма может быть любой.При создании видового экрана
Видовые экраны произвольной формы Удобными представляются возможность создания в пространстве листа непрямоугольных видовых экранов и связывание с видовыми экранами контуров подрезки, благодаря которым их видимая форма может быть любой.При создании видового экрана
Пример 10-27. Простой пример сравнения строк #!/bin/bash# match-string.sh: простое сравнение строкmatch_string (){ MATCH=0 NOMATCH=90 PARAMS=2 # Функция требует два входных аргумента. BAD_PARAMS=91 [ $# -eq $PARAMS ] || return $BAD_PARAMS case "$1" in "$2") return $MATCH;; * ) return $NOMATCH;; esac}a=oneb=twoc=threed=twomatch_string $a # неверное число
Пример 11-6. Чтение командой read из файла через перенаправление #!/bin/bashread var1 <data-fileecho "var1 = $var1"# Первая строка из "data-file" целиком записывается в переменную var1read var2 var3 <data-fileecho "var2 = $var2 var3 = $var3"# Обратите внимание!# Поведение команды "read" далеко от ожидаемого!# 1) Произошел возврат
Видовые экраны произвольной формы Удобными представляются возможность создания в пространстве листа непрямоугольных видовых экранов и связывание с видовыми экранами контуров подрезки, благодаря которым их видимая форма может быть любой.При создании видового экрана