Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anger
#1

Приложение на C++ - C++

10.02.2010, 20:02. Просмотров 514. Ответов 1
Метки нет (Все метки)

Всем привет! Народ помогите! Нужно создать приложение под Unix на C++, которое будет копировать файл с расширением на заданную букву из заданного каталога в текущий. Проблема в том, что нельзя юзать API, нельзя юзать fopen(), copyFile(), кто знает?? Объясните как сделать? С fopen могу написать)) а вот подругому х.з. Есть идея, что нужно создать файл, а потом скопировать в него содержимое оригинала, но как это реализовать? Посмотрел хэдер библы fcntl.h ничего существенного не нашёл( Есть код проги, которая удаляет файл начинающийся на определённый символ, может это чемнибудь поможет. Помогите, плииз
delete.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <dirent.h>
#include <unistd.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include "delete.h"
int main(int argc,char *argv[])
{ 
  if(argc!=3)
  {printf("Parametrs number is disabled \n");}
else
{
  if (strlen(argv[2])!=1)
  {printf("Second parametr is not letter \n");}
  else
  {
    catalog *cat1=new catalog(argv[1]);
    if (cat1->opencat()==-1)
    {printf("Directory is not found ");
    printf( argv[1]);
    printf("\n");}
    else
    {
      cat1->delfiles(argv[2],argv[0]);
      cat1->closecat();
    };
    delete cat1; 
  };
}; return 0;
}
delete.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
class catalog{
private:
 char *name_cat;
 DIR *cat;
public:
 catalog(char *n);
 char* getname(){return name_cat;};
 DIR* getcat() {return cat;};
 ~catalog() {};
 int opencat(); 
 int closecat();
 void delfiles(char *n,char *st);
};
 
class file {
  private:char* name_file;
  int descr;
public:
 file(char *name_f);
 int openfile();
 char* getnamef(){return name_file;};
 ~file() {};
  void delfile(char *name); 
};
 
catalog::catalog(char *n):name_cat(n) {};
int catalog::opencat()
{ if (!(cat= opendir(getname())))
  return -1;
 else
  return 1; 
};  
 
int catalog::closecat()
{return  closedir(getcat());}; 
 
void catalog::delfiles(char *n,char *st)
{ struct dirent *buf;
  char s1[80]="";
  char s2[80]="";
  int fl=0;
  struct stat strstat;
  strcpy(s1,getname());
  strcat(s1,"/");
  while ((buf=readdir(getcat()))!=NULL)
  {
    if(strncmp(buf->d_name,n,1)==0)
     {        strcpy(s2,s1);
      strcat(s2,buf->d_name);   
    stat(s2,&strstat);
    if (S_ISREG(strstat.st_mode))
    {       printf("%-20s",s2); printf("%10s","  удален"); printf("\n");
      if (strcmp(st,s2)!=0) 
       {  file *f=new file(s2);
         if (f->openfile()==1)
         f->delfile(s2); fl=1;}
         else printf("Файл отсутствует\n");
     }
    }
    };
  if (fl==0) {printf("В каталоге нет файлов на заданную букву "); printf("%s\n",n);}
 
};
file::file(char *name_f):name_file(name_f) {};
int file::openfile()
{ if (!(descr= open(getnamef(),O_RDONLY)))
 
  return -1;
 else
  return 1; 
};  
void file::delfile(char *name)
{
 unlink(name);
};
Вот такой вот топик! Спасибо за ранее)

Добавлено через 3 часа 19 минут
Up!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2010, 20:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Приложение на C++ (C++):

консольное приложение (при запуске приложение открывалось на весь экран) - C++
Как сделать, чтобы при запуске приложение открывалось на весь экран?

Разработать приложение приложение - C++
Задача: нужно написать приложение, которое будет регистрироваться на порту 80, и в случае прихода HTPP-запроса передавать фиксированную...

Скомпилировать приложение так, чтобы другое приложение было у него в ресурсах - C#
Хочу написать программу-компилятор, в которой нужно указать файл, и она скомпилирует другую программу, с указанным в ней файлом в качестве...

.NET 4.x Приложение со всеми библиотеками, или как запустить приложение без установленного FW - C#
Извините, если для профессионалов эта тема покажется уже заезженной, но я не нашла решения в интернете. Я в целях обучения языку С#...

Запустить приложение, и получить результат, который вернуло отработавшее приложение - C++ WinAPI
Всем привет! Народ подскажите апишку(ки) для реализации следующей задачи. Мне нужно проверить соответствие введенного пользователем...

Как java-приложение может попросить OS запустить внешнее приложение? - Java
Как java-приложение может попросить OS запустить внешнее приложение?

1
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.02.2010, 20:29 #2
open() можно использовать ?
system( "cp file1 file2" ) можно использовать ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2010, 20:29
Привет! Вот еще темы с ответами:

Приложение написано на x64, не могу открыть это же приложение на Win32 - C#
Всем доброго дня или вечера. Помогите пожалуйста, я написал приложение си шарпе платформа виндоус 64 разрядный теперь не могу открыть вот...

DirectX приложение магазина виндуус 8.1(универсальное приложение) на экране отображается только фон - Visual C++
Здравствуйте у меня проблема с приложением на DX (универсальное приложение магазина для 8.1). На экране отображается только фон(цвет в...

Microsoft windows приложение не отвечает . Возможно, что приложение ответит , если подождать - Windows 7
Началось 2 дня назад до этого того небыло делал memtest86 и проверял жеский диск на наличие bad секторов все нормально Добавлено через...

Поймал вирус Advanced PC Care, Амиго браузер, спутник маил ру, приложение вк, приложение одноклассники - Удаление вирусов
Приветствую. поймал вирус когда искал типовые проекты. на комп попали программы: Амиго браузер, спутник маил ру, приложение вк,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru