|
|||
2.7 Лабораторная работа №7. Работа со строками и файламиСтр 1 из 3Следующая ⇒ 2. 7 Лабораторная работа №7. Работа со строками и файлами Цель работы: изучить базовые операции работы со строками и файлами. Общие сведения. В языке С нет специального типа данных для строковых переменных. Для этих целей используются массивы символов (тип char). Следующий пример демонстрирует использование строк в программе: char str_1[100] = {‘П’, ’р’, ’и’, ’в’, ’е’, ’т’, ’\0’}; char str_2[100] = “Привет”; char str_3[] = “Привет”; printf(“%s\n%s\n%s\n”, str_1, str_2, str_3); В приведенном примере показаны три способа инициализации строковых переменных. Первый способ является классическим объявлением массива, второй и третий используются специально для строк. Причем в последнем случае, компилятор сам определяет нужную длину массива для записи строки. Символ ‘\0’ означает в языке С конец строки и все символы после него игнорируются как символы строки. Функции ввода строк scantf (“%s”, имя строковой переменной); gets (имя строковой переменной); Функции вывода символа printf (“%s”, имя строковой переменной); puts (имя строковой переменной);
Для работы со строками можно использовать библиотеку стандартных функций < string. h>, в которой имеются следующие функции работы со строками: 1 ) объединение строк или конкатенация: strcat (имя строки1, имя строки2); 2) замена содержимого одной строки содержимым другой: strcpy (имя строки1, имя строки2); 3) нахождение числа символов в строке: strlen (имя строки); 4) сравнение Строки 1 и Строки 2: strcmp (имя строки1, имя строки2); Возвращает 0, если строки равны, число меньше нуля, если Строка 1< Строка 2 и число больше нуля, если Строка 1> Строка2; 5) преобразование строчных символов строки в прописные (обрабатывает только буквы латинского алфавита): strlwr (имя строки); 6) преобразование прописных символов строки в строчные (обрабатывает только буквы латинского алфавита): strupr (имя строки); 7) заполнение строки указанным при вызове функции символом: strset (имя строки, имя символа); 8) поиск символа в строке. (Возвращает указатель на первый найденный символ или, если символ не найден – NULL. ): strchr (имя строки, имя символа). По завершению программы, все данные пропадают. Для сохранения данных используются файлы. Файл - это единица хранения данных, которые обычно хранятся на винчестерах (жестких дисках). Мы будем рассматривать как последовательный, так и произвольный доступ к файлу. Давайте теперь рассмотрим работу с файлами. Файл - это единица хранения данных, которые обычно хранятся на винчестерах (жестких дисках). В языке Си любой файл рассматривается как поток байтов. Концом любого файла является специальный символ. При работе с файлами выполняются операции ввода - вывода. Операция ввода означает перепись данных с внешнего устройства (из входного файла) в основную память ЭВМ через файловый буфер (структура FILE или дескриптор файла ), операция вывода - это пересылка данных из основной памяти через файловый буфер на внешнее устройство (в выходной файл). Файлы на внешних устройствах часто называют физическими файлами. Доступ к файловому буферу осуществляется через указатель, который содержит адрес файлового буфера Определение указателя на файл
|
|||
|