Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по С Живицкая (Мет пособие).doc
Скачиваний:
112
Добавлен:
15.06.2014
Размер:
2.11 Mб
Скачать

2.6.1. Puts ( )

Функция puts помещает строку в выводной поток stdout, определение ее имеет вид:

Int puts (s)

char * s;

Функция puts записывает строку по указателю S в стандартный выводной поток stdout, строка S должна иметь ограничитель'\0'. Функция записывает поток всю строку за исключением символа \0 и добавляет в конец символ '\n', при обнаружении ошибки возвращается EOF

2.6.2. Gets ( )

Функция gets выводит строку из входного потока stdio.

Определение.

char * gets (s)

char * s;

Функция gets читает символы из вводного потока stdin в массив по указателю S до тех пор, пока не будет обнаружен символ новой строки '/n' или признак конца файлов. Символ / n одбрасывается и строка завершается ограничителем / 0.

При обнаружении конца файла или ошибки возвращается NULL. Имеются функции файлового ввода-вывода (ранее рассмотренные). Функции форматного преобразования в памяти, функции преобразующие строку в число, функции для работы со строками, функции тестирования символов (регистор), функции для преобразования символов (верхние и нижние регистры), функции для диномического выделения памяти.

2.6.3. Putc().

Записывает символ в файл и имеет следующий прототип

int putc ( int c, FILE * lst);

Здесь lst - указатель на файл возвращаемый функции fopen, с-символ для записи (переменная имеет тип int, но используется только младший байт). При успешном завершении putc возвращает записанный символ в противном случае возвращается const EOF, она определена в файле stdio.h, имеет значение – единица.

2.6.4. getc().

Читает символ из файла и имеет следующий прототип (формат):

int getc (FILE * lst);

lst – это указатель на файл, возвращенный функцией fopen, эта функция возвращает прочитанный символ в соответствующее значение, определяется типом int по старигий байт = 0. Если достигнут конец файла, то get c возвращает значение EOF.

2.6.5. ferror().

Функция ferror позволяет проверить правильность выполнения последней операции при работе с файлами и имеет следующий прототип (формат):

int ferror ( FILE * lst);

В случае ошибки возвращается не нулевое значение, в противном случае возвращается 0.

2.6.6. remove().

Функция remove удаляет файл и имеет следующий прототип

int remove ( char * file_name );

Здесь file_name – указатель на строку со спецификацией файла. При успешном завершении возвращается 0, в противном случае возвращается не нулевое значение.

2.6.7. rewind().

Функция rewind устанавливает указатель текущей позиции в начало файла и имеет следующий формат

void rewind (FILE * lst );

2.6.8. feof().

Определяет конец файла при чтении двоичных данных и имеет следующий прототип

int feof ( FILE * lst );

lst – это указатель на файл возвращенный функции fopen при достижении конца файла возвращается не нулевое значение, в противном случае возвращается 0.

2.7.Препроцессор.

Основные сведения.

Транслятор Си имеет встроенное средство, расширяющее возможности языка и называемые препроцессором или макропроцессором.

Препроцессор позволяет осуществлять макрообработку, условную компиляцию включать файлы текст программы, управлять обработкой ошибок. Первым шагом компилятора является вызов препроцессора. Препроцессор работает подобно текстовому редактору под управлением директив препроцессора, которые кодируются в исходной программе так же, как обычные операторы Си, но препроцессорные директивы отличаются от обычных утверждений по форме. Они не следуют синтаксическим правилам для оператора. Для записи препроцессорных директив существуют свои правила.

Все препроцессорные директивы должны начинаться с символа #

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

За # сразу же должно идти наименование директивы. В программах на Си используются следующие директивы препроцессора.

#include

#endif

#else

#define

#line

#undef

#fndef

#fdef

#if

#elif

#error и др.

В отличие от операторов в конце (;) не ставится. Директивы не являются операторами языка в традиционном смысле. После работы препроцессора директивы удаляются из текста программы. Директивы могут быть разделены на 3 категории: включение файлов, макроподстановка, управление компиляцией.