Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C.doc
Скачиваний:
29
Добавлен:
08.05.2015
Размер:
1.17 Mб
Скачать

Функции работы со строками

1. Копирование строк. Прототип функции:

char *strcpy(char *destin, char *source);

Копируются символы source в destin, возвращаемое значение - адрес destin.

2. Присоединение строк одна к другой. Прототип функции:

char *strcat(char *destin, char *source);

Копия source добавляется в конец destin, возвращаемое значение - адрес destin.

3. Создание копии строки. Прототип функции:

char *strdup(char *str);

Создается копия str и возвращается указатель на эту вновьсоздаваемую строку.

4. Получение длины строки. Прототип функции:

unsigned strlen(char *str);

Пример вычисления длины строки:

#include <stdio.h>

#include <string.h>

main()

{

char f[80];

printf (“\nВведите строку символов\n”);

scanf(“%s”,f);

printf(“В строке\n%s\n%u символов”,f,strlen(f));

}

Математические функции

1. Вычисление синуса. Прототип функции:

double sin(double x);

2. Вычисление косинуса. Прототип функции:

double cos(double x);

3. Вычисление тангенса. Прототип функции:

double tan(double x);

4. Вычисление гиперболического синуса. Прототип функции:

double sinh(double x);

5. Вычисление гиперболического косинуса. Прототип функции:

double cosh(double x);

6. Вычисление гиперболического тангенса. Прототип функции:

double tanh(double x);

7. Вычисление экспоненты. Прототип функции:

double exp(double x);

8. Возведение x в степень y, и возведение 10 в степень x. Прототипы функций:

double pow(double x, double y);

double pow10(double x);

9. Вычисление логарифма натурального. Прототип функции:

double log(double x);

10. Вычисление логарифма десятичного. Прототип функции:

double log10(double x);

11. Вычисление корня квадратного. Прототип функции:

double sqrt(double x);

12. Вычисление абсолютного значения аргумента. Прототипы функций:

int abs(int i);

double fabs(double x);

long labs(long n);

double cabs(struct complex znum);

13. Вычисление арксинуса. Прототип функции:

double asin(double x);

14. Вычисление арккосинуса. Прототип функции:

double acos(double x);

15. Вычисление арктангенса. Прототипы функций:

double atan(double x);

double atan2(double y, double x);

Последняя функция вычисляет арктангенс от y/x.

Функции работы с файлами и каталогами

1. Изменить рабочий каталог. Прототип функции:

int chdir(char *path);

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

Примеры: chdir(“c:\\turboc”); chdir(“c:/turboc”);

2. Создать каталог. Прототип функции:

int mkdir(char *pathname);

При успешной операции возвращает 0.

3. Удаление нетекущего каталога (обязательно пустого). Прототип функции:

int rmdir(char *pathname);

При успешной операции возвращает 0.

4. Получение текущего диска. Прототип функции:

int getdisk(void);

Возвращаемое значение 0-A, 1-B, 2-C и т.д.

5. Получение текущего каталога указанного диска. Прототип функции:

int getcurdir(int drive, char *direc);

где drive - имя диска (0 - текущий, 1 - A, 2-B и т.д.). В direc возвращается имя каталога, не содержащее имени диска.

При успешной операции возвращает 0.

6. Получение компонент полного имени файла. Прототип функции:

int fnsplit(char *path, char *drive, char *dir, char *name, char *ext);

Из path выделяется имя диска drive, каталог dir, имя файла name, расширение имени ext.

Возвращается в случае успеха 0.

7. Удаление файла. Прототип функции:

int unlink(char *filename);

Имя файла может быть полным. Возвращается в случае успешного завершения 0.

8. Смена атрибутов файла. Прототипы функций:

int chmod(char *filename, int permiss);

где значение permiss:

S_IWRITE - разрешение записи,

S_IREAD - только чтение,

S_IWRITE|S_IREAD - запись-чтение.

int _chmod(char *filename, int func[, int attrib]);

Если func=0, то функция возвращает MS DOS атрибуты файла, если func=1, то атрибуты устанавливаются в соответствии с attrib:

FA_RDONLY - только чтение,

FA_HIDDEN - скрытый,

FA_SYSTEM - системный,

FA_ARCH - архивный,

FA_DIREC - каталог,

FA_LABEL - метка тома.

В случае ошибки функция возвращает (-1).

9. Поиск файла с указанным именем. Прототип функции:

int findfirst(char *pathname, struct ffblk *ffblk, int attrib);

В качестве имени файла pathname можно использовать заменители * и ?. Если подходящий файл найден, структура ffblk заполняется информацией о файле. Аттрибуты устанавливаются при поиске как FA_XXX... Если указать в качестве атрибута 0, то ищутся файлы с любыми атрибутами. Функция в случае успешного поиска возвращает значение 0.

Структура ffblk:

struct ffblk {

char ff_reserved[21];

char ff_attrib;

unsigned ff_ftime;

unsigned ff_fdate;

long ff_size;

char ff_name[13]; };

10. Продолжение поиска. Прототип функции:

int findnext(struct ffblk *ffblk);

Продолжение поиска с шаблоном, указанным в функции findfirst. Если поиск успешный, возвращает 0 и заполняет структуру ffblk.

Пример удаления файла с указанным именем:

#include <stdio.h>

#include <dos.h>

#include <io.h>

main()

{

char name[80];

/* вводим имя файла */

printf(“\nВведите имя файла:\n”);

scanf(“%s”,name);

/* меняем атрибут */

if (_chmod(name,1,FA_ARCH)==-1)

{ printf(“\nОшибка при выполнении!\n”); return; }

/* удаляем файл */

unlink(name);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]