Учебная работа. Реферат: Лабораторная работа по Операционным системам
«ЗАПОРОЖСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ»
МИНИСТЕРСТВА ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
АФЕДРА ИНФОРМАЦИОННЫЗ ТЕХНОЛОГИЙ
отчет
с лабораторной работы №2
Выполнил:
____________________
(подпись)
студент гр. 4328-1
Глеба Р.Н.
Проверил:
____________________
(подпись)
Бровченко Е.Э.
Запорожье,
2011
Создать функцию (и вспомогательную программку) разбора данной текстовой строчки (задается переменной окружения либо параметром командной строчки), содержащей полное имя файла (путь и имя). Процедура обязана определять четыре параметра окружения — буковка диска, путь, имя файла и тип файла.
Начальный код
#include <iostream.h>
int main(int argc, char* argv[])
{
int i=0,is,ik;
FILE *fp;
system(«cls»);
if (argc!=2)
{
cout << «ОШИБКА ПАРАМЕТРА!!!»;
return 0;
}
fp=fopen(argv[1],»r»);
if (fp==NULL)
{
cout << «ОШИБКА!!! файл с таковым именованием не существует!!!»;
return 0;
}
fclose(fp);
while (argv[1][i]!=0)
{
if (argv[1][i]==’:’) //находим двоеточие и выделяем заглавие диска
{
cout << «диск — » << argv[1][i-1] << argv[1][i] << ‘n’;
break;
}
i++;
}
i++;
is=i; //тут храним позицию первого слеша
while (argv[1][i]!=0)
{
if (argv[1][i]==»)
{
ik=i; //находим крайний слеш и выделяем путь к файлу
}
i++;
}
cout << «Путь — «;
for (is;is<=ik;is++)
{
cout << argv[1][is];
}
cout << «n» << «имя файла — «;
is=ik+1;
while (argv[1][ik]!=0)
{
if (argv[1][ik]==’.’) //находим крайнюю точку и выделяем имя файла
{
i=ik;
}
ik++;
}
for (is;is<i;is++) //все другое опосля последней точки — тип файла
{
cout << argv[1][is];
}
cout << «n» << «Тип файла — «;
for (is;is<ik;is++)
{
cout << argv[1][is];
}
return 0;}
]]>