Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие С++- не книжкой_новое.doc
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
765.44 Кб
Скачать

Int strcmp(const char *str1, const char* str2);

Функция strcmp() сравнивает в лексикографическом порядке две строки и возвращает целое значение, зависящее от результата сравнения следующим образом: значение меньше нуля, если str1<str2; ноль, если str1=str2; больше нуля, если str1>str2. Приведем пример использования этой функции – фрагмент программы, проверяющий упорядочены ли два слова по алфавиту:

char s1[20], s2[20];

cin>>s1>>s2;

int k=strcmp(s1,s2);

if (k<0) cout<< “Слова упорядочены по алфавиту”;

else if (k==0) cout<< “Слова одинаковы”;

else cout<< “Слова не упорядочены по алфавиту”;

3

#include <string.h>

char * strcpy (char *str1, const char* str2);

Функция strcpy() копирует содержимое строки str2 в строку str1 и возвращает значение указателя str1. Если заданные символьные массивы перекрываются, поведение функции не определено. Приведем пример использования этой функции – ввести в клавиатуры слово и скопировать его в новую строку.

char str1[20],str2[20];

cin>>str1;

strcpy(str2,str1);

cout<<str1<<" "<<str2;

Функции для работы с файлами описаны в заголовочном файле stdio.h. ([8] стр. 131). В языке не предусмотрены никакие предопределенные структуры фалов: все файлы рассматриваются как последовательности, потоки байтов. Для файла определен маркер (указатель чтения/записи), который определят текущую позицию, к которой осуществляется доступ. В программе возможно открывать потоки ввода-вывода и связывать их либо с файлами на диске либо с физическими устройствами (например, принтером), записывать в них или считывать из них информацию. Доступ к потоку осуществляется с помощью типа FILE, определенного в файле stdio.h следующим образом:

FILE * идентификатор;

Описанный указатель можно связывать с конкретным файлом в момент открытия данного файл. Это осуществляется с помощью функции

FILE * fopen(const char *fname, const char * mode);

Функция fopen() открывает файл, имя которого задает параметр fname и возвращает поток, связанный с этим файлом. Строка fname должна представлять собой имя файла, которое разрешено определенными в данной операционной системе правилами. Если указанный файл не удается открыть, функция возвращает нулевой указатель. Типы операций, которые разрешено выполнять с файлом, определяются параметром mode. Существует таблица значений параметра mode. Наиболее часто используемые значения:

“r” – открывает текстовый файл для чтения;

“w” – создает текстовый файл для записи;

“a” – открывает текстовый файл для записи в конец файла;

“r+” – открывает текстовый фал для чтения и записи;

“w+” – создает текстовый файл для чтения и записи;

“a+” – открывает текстовый файл для чтения и записи в конец файла.

Приведем фрагмент программы, иллюстрирующий корректный способ открытия файла.

FILE *fp=fopen("1.txt","r");

if (fp==NULL) {cout<<"Не удается открыть файл "; exit(1);}

else {….}

В данном примере происходит попытка открыть файл с именем “1.txt” в текущем каталоге для чтения. Если такого файла не существует, на экран выдается соответствующее сообщение и с помощью функции exit(), описанной в заголовочном файле stdlib.h, происходит завершение программы. При открытии файла для записи с параметром “w” также рекомендуется делать проверку, так как диск может быть защищен от записи или заполнен.

По окончании работы с файлом он должен быть закрыт с помощью функции