Курсовая работа: Лабораторная работа по Операционным системам
ГОСУДАРСТВЕННОЕ ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ
«ЗАПОРОЖСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ»
МИНИСТЕРСТВА ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
АФЕДРА ИНФОРМАЦИОННЫЗ ТЕХНОЛОГИЙ
ОТЧЕТ
с лабораторной работы №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;}