Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Anger
Сообщений: n/a
#1

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

10.02.2010, 20:02. Просмотров 489. Ответов 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++
Посмотрите здесь:

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

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

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

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

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

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

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

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

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

приложение(*) где по нажатию кнопки эти файлы распаковывались бы в директорию в которой лежит приложение(*)... - Delphi
Есть 2 файла 222.pck 5556.dll нужно сделать приложение(*) где по нажатию кнопки эти файлы распаковывались бы в директорию в которой лежит...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7156 / 3296 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.02.2010, 20:29     Приложение на C++ #2
open() можно использовать ?
system( "cp file1 file2" ) можно использовать ?
Ответ Создать тему
Опции темы

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