- •Додатковий матеріал до лекцій із дисципліни "Програмування"
- •1 Структури та об’єднання
- •1.1 Структури
- •1.2 Об’єднання та бітові поля
- •2 Функції
- •2.1 Передача параметрів за значенням
- •2.2 Передача параметрів за покажчиком
- •2.3 Функції та масиви
- •2.4 Функції з параметрами за замовченням
- •2.5 Функції з змінним числом параметрів
- •2.6 Передача параметрів в функцію main()
- •2.7 Рекурсивні та інлайн-функції
- •2.8 Функції, що повертають покажчик
- •2.9 Функції та структури
- •2.10 Перевантаження функцій та шаблони функцій
- •2.11 Покажчик на функцію
- •3 Робота з файлами
- •3.1 Відкриття та закриття файлів
- •3.2 Введення даних в файл та виведення даних з файлу
- •3.3 Керування файлами та каталогами
- •4 Багатофайлова компіляція
- •Література
3.3 Керування файлами та каталогами
Приклад 3.10
#include<stdio.h> |
#include<dir.h> |
int main() |
{char inf[40]; |
int disk=0; |
if(getcurdir(drive,inf)!=0) |
{printf("Не могу определить директорий\n");return 2;} |
printf("%c:%s\n",disk+'A'-1,inf); |
return 0;} |
|
|
Приклад 3.11
#include<stdio.h> |
#include<dir.h> |
int main() |
{char namedir[30]; |
FILE *fp; |
puts("Введіть ім’я директорія за форматом F:\\USERS\\…"); |
gets(namedir); |
if(mkdir(namedir)!=0) |
{perror("Не могу создать директорий! "); |
return 1;} |
if(setdisk(namedir[0]-'A')==-1) |
{perror("Не могу установить диск! "); |
return 2; } |
else |
{if(chdir(namedir)==-1) |
{perror("Не могу установить директорий! "); |
return 3;} |
if((fp=fopen("test.txt","w"))==NULL) |
{perror("Не могу открыть файл!"); |
return 3;} |
} |
fputs("TEST",fp); |
fclose(fp); |
return 0;} |
|
|
|
Приклад 3.12
#include<stdio.h> |
#include<dir.h> |
int main() |
{char namedir[20]; |
char namefile[20]; |
puts("Введите имя директория по формату C:\\ABC"); |
gets(namedir); |
puts("Введите имя файла"); |
gets(namefile); |
setdisk(namedir[0]-'A'); |
chdir(namedir); |
if(remove(namefile)==-1) |
{perror("Не могу удалить файл!"); return 1; } |
if(rmdir(namedir)==-1) |
{perror("Не могу удалить директорий!"); return 2; } |
return 0;} |
|
|
|
Приклад 3.13
#include<stdio.h> |
#include<dir.h> |
int main() |
{union{unsigned data; |
struct{unsigned d:5; |
unsigned m:4; |
unsigned y:7;}x; |
}dt; |
union{unsigned time; |
struct{unsigned s:5; |
unsigned m:6; |
unsigned h:5;}x; |
}tm; |
ffblk ld; |
unsigned count=0; |
long sumsize=0; |
int flag =findfirst("*.cpp",&ld,0); |
if(!flag) |
do{ |
printf("%-15s ",ld.ff_name); |
printf("%6ld\t",ld.ff_fsize); |
dt.data=ld.ff_fdate; |
printf("%02d.%02d.",dt.x.d,dt.x.m); |
printf("%d ",1980+dt.x.y); |
tm.time=ld.ff_ftime; |
printf("%02d:%02d:%02d\n",tm.x.h,tm.x.m,tm.x.s*2); |
count++; |
sumsize+=ld.ff_fsize; |
flag = findnext(&ld); |
}while(!flag); |
printf("in %u .cpp files ",count); |
printf("%ld bytes\n", sumsize); |
return 0;} |
|
|
|
|
|
|
|
