ďťż

Ładny brzuch

Witam!
Mam taki oto problem - jak skopiowac jakis katalog do katalogu. Kopiowany katalog nie posiada podkatalogów, a gdy w katalogu znajduja sie pliki o tych samych nazwach to program nadaje im unikalne rozszerzenia w celu unikniecia "zadeptania"

W bashu nie mialbym z tym mysle zadnych problemow ale w C++ pierwszy raz dopiero spotykam sie z kopiowaniem katalogów
Szukalem po dorum ale znalazlem tylko czesc kodu o kopiowaniu, a ze jak wspomnialem wczesniej nie spoktalem sie w C++ z kopiowaniem katalogów to nie wiem jak sie za to zabrac
Jesli moge to bardzo prosze o jakies wskazówki i pomoc za ktora z gory dziekuje
Pozdrawiam!



poszukaj tu:

http://www.4programm...4%87_w_Linuksie

powinieneś znaleźć coś ciekawego.

jeśli wiesz jak to w bashu zrobić to możesz użyć funkcji
system("polecenie systemowe"); gdzie zamiast polecenia systemowego wstawiasz to co napisałeś w bashu
chyba powinno zadziałać

Edas a czy mozesz podac jakis przyklad uzycia tej funkcji, jakis kod źrodłowy bo o cos mi sie pluje kompilator
z gory dzieki



np coś takiego
ja na końcu swoich konsolowych programów daję tak
system("pause") co robi ze wysyła pause do konsoli czyli się pojawia napis proszę nacisnąc ... etc.
czasem też daję tak system("cls") dla windowsa i system("clear") dla linuksa - to czyści ekran
najlepiej podaj ten błąd bo być może nie zaincludowałeś jakiejś biblioteki

jak sie kompilator pluje to pewnie nie dodales:
#include <cstdlib>
;]

Jednak zrobilem to tak, poniewaz ma to hulac pod unixem, na Solarisie:

#include <unistd.h> #include <stdio.h> #include <dirent.h> #include <string.h> #include <sys/stat.h> #include <stdlib.h> int main() { char *dir; int c; DIR *dp; FILE *in,*out; struct dirent *entry; struct stat statbuf; if((dp=opendir(dir))=NULL) { fprintf(stderr,"Nie moge otworzyc katalogu: %s\n",dir); return 0; } chdir(dir); while((entry=readdir(dp))!=NULL) { lstat(entry->d_name,&statbuf); if(S_ISDIR(statbuf.st_mode)) { in=fopen("entry->d_name","r"); out=fopen("/export/home/i8481/testy/entry->d_name","w"); while((c=fgetc(in)) != EOF) fputc(c,out); } } return 0; }

I teraz pytanko mam - czy to bedzie działac? Wiem glupie pytanie ale nie mam jak tego sprawdzic poniewaz nie moge zalogowac sie na swoje szkolne konto na Solarisie z domu. Czy moglby ktos to sprawdzic? :) i ewentualnie podpowiedziec jesli cos jest nie tak (bo znajac zycie jest)
Z gory dzieki!

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •