Хелпикс

Главная

Контакты

Случайная статья





2.7 Лабораторная работа №7. Работа со строками и файлами



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 или дескриптор файла ), операция вывода - это пересылка данных из основной памяти через файловый буфер на внешнее устройство (в выходной файл). Файлы на внешних устройствах часто называют физическими файлами.

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

Определение указателя на файл



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.