Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Ввод и вывод строк





 

 

Стандартная библиотека содержит функцию FGETS, совершен-

но аналогичную функции GETLINE, которую мы использовали на

всем протяжении книги. В результате обращения

 

FGETS(LINE, MAXLINE, FP)

 

следующая строка ввода (включая символ новой строки) считы-

вается из файла FP в символьный массив LINE; самое большое

MAXLINE_1 символ будет прочитан. Результирующая строка за-

канчивается символом \ 0. Нормально функция FGETS возвращает

LINE; в конце файла она возвращает NULL. (Наша функция

GETLINE возвращает длину строки, а при выходе на конец файла

- нуль).

Предназначенная для вывода функция FPUTS записывает

строку (которая не обязана содержать символ новой строки) в

файл:

 

FPUTS(LINE, FP)

 

Чтобы показать, что в функциях типа FGETS и FPUTS нет

ничего таинственного, мы приводим их ниже, скопированными

непосредственно из стандартной библиотеки ввода-вывода:

 

#INCLUDE <STDIO.H>

CHAR *FGETS(S,N,IOP) /*GET AT MOST N CHARS FROM IOP*/

CHAR *S;

INT N;

REGISTER FILE *IOP;

\(

REGISTER INT C;

REGISTER CHAR *CS;

CS = S;

WHILE(--N>0&&(C=GETC(IOP))!=EOF)

IF ((*CS++ = C)=='\N')

BREAK;

*CS = '\0';

RETURN((C==EOF && CS==S) 7 NULL: S);

\)

FPUTS(S,IOP) /*PUT STRING S ON FILS IOP*/

REGISTER CHAR *S;

REGISTER FILE *IOP;

\(

REGISTER INT C;

WHILE (C = *S++)

PUTC(C,IOP);

\)

 

 

Упражнение 7-3

---------------

Напишите программу сравнения двух файлов, которая будет

печатать первую строку и позицию символа, где они различают-

ся.

 

Упражнение 7-4

---------------

Переделайте программу поиска заданной комбинации симво-

лов из главы 5 таким образом, чтобы в качестве ввода исполь-

зовался набор именованных файлов или, если никакие файлы не

указаны как аргументы, стандартный ввод. Следует ли печатать

имя файла при нахождении подходящей строки?

 







Date: 2015-09-17; view: 355; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию