Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЗІ
Звітдолабораторноїроботи № 4
З дисципліни
“Операційні системи”
Мета роботи
Написатипрограми для роботи з файлами відповідно до завдання
1.Програма
Написати і відлагодити програму яка буде виводити з файлу всі парні слова
Кодпрограми
#include <stdio.h>
#include <string.h>
int main()
{
char c[32000];
int i;
i=0;
FILE * fi;
fi = fopen("txt.txt","r");
for(i=0;i<32000;i++)
{ c[i]=getc(fi);
if(c[i]==EOF)
break;
}
i=0;
const char*limits=" ,.;()-\n";
char *pw;
printf("Результат\n");
pw=strtok(c,limits);
while (pw!=NULL)
{
if((i%2)!=0)
{puts(pw);}
pw=strtok(NULL,limits);
i++;
}
return 0;
}
Кодскрипта
#!/bin/bash
gcc -Wall -o 3_exe 3_1.c
./3_exe
Текст файлу
1 2 3 4 5 6 7 8 9 10
Результат роботи програми
2.Програма
Написати програму яка буде виводити всі слова з тексту які містять букви LF
Код програми
#include <stdio.h>
#include <string.h>
int main(void)
{
char c[32000];
int i;
i=0;
FILE * fi;
fi = fopen("txt.txt","r");
for(i=0;i<32000;i++)
{ c[i]=getc(fi);
if(c[i]==EOF)
break;}
i=0;
const char*limits=" ,.;()-\n";
char *pw;
printf("Результат\n");
pw=strtok(c,limits);
while (pw!=NULL)
{ if(strstr(pw,"lf")!=NULL)
{puts(pw);}
pw=strtok(NULL,limits); }
return 0;
}
Код скрипту
#!/bin/bash
gcc -Wall -o 3_exe 3_2.c
./3_exe
Текст файлу
life is good but i need printlf lflooking for,lf lf1 lfsing
Результат роботи:
3.Програма
Написати програму яка буде зчитувати файли поточного каталогу і виводити їх групами посортованими за кількістю посилань на файл.
Код програми
#include<sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
int main()
{
inti,j,k,z,m;
i=0;j=0;z=0;m=0;
char c[50][150];
char b[150];
FILE*fi;FILE*f0;
for(i=0;i<50;i++)
{for(j=0;j<150;j++)
{c[i][j]=' ';}}
for(j=0;j<150;j++)
{b[j]=' ';}
b[0]= 'l'; b[8]= '/'; b[56]='k';b[1]= 'n'; b[51]='.';
b[57]='s'; b[3]= '-'; b[52]='/'; b[58]='/';b[4]= 's';
b[53]='l'; b[6]= '.'; b[54]='i';b[7]= '.'; b[55]='n';
b[149]= '\n';
for(i=1;i<50;i++)
{for(j=0;j<150;j++)
{c[i][j]=b[j];}}
c[0][0]='#';c[0][4]='i';c[0][8 ]='a';
c[0][1]='!';c[0][5]='n';c[0][9 ]='s';
c[0][2]='/';c[0][6]='/';c[0][10]='h';
c[0][3]='b';c[0][7]='b';c[0][149]='\n';
k=8;
fi = fopen("1.txt","r");
f0 = fopen("2.txt","w");
i=1;z=0;
for(j=0;j<1000;j++)
{k=k+1;
c[i][k+50]='.';
c[i][k+51]='l';c[i][k+52]='i';
c[i][k+53]='n';c[i][k+54]='k';
c[i][k]=getc(fi);
c[i][k+50]=c[i][k];
if(c[i][k]==EOF)
{break;}
if (c[i][k]=='\n')
{c[i][k+50]='.';
c[i][k]=' ';
k=8;i=i+1; z=i+1;}}
for(i=0;i<z-1;i++)
{for(j=0;j<150;j++)
{printf("%c",c[i][j]);}}
for(i=0;i<z-1;i++)
{for(j=0;j<150;j++)
{putc(c[i][j],f0); }}
return 0;}
Код скрипту
#!/bin/bash
ls>1.txt
gcc -Wall -o 3_3 3_3.c
./3_3
bash 2.txt
Текст документу 1.txt
1.txt
2.txt
3_3
3_3.c
links
script
Текст документу 2.txt
#!/bin/bash
ln -s ../1.txt ./links/1.txt.link
ln -s ../2.txt ./links/2.txt.link
ln -s ../3_3 ./links/3_3.link
ln -s ../3_3.c ./links/3_3.c.link
ln -s ../links ./links/links.link
ln -s ../script ./links/script.link
Висновок:поглибив свої знання при роботі з ОС ,написав програми, навів результати їх роботи.