Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[C] problemi a gestire Cartelle

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[C] problemi a gestire Cartelle

Postdi Kenshin » 27/07/06 09:53

SAlve sono nuovo del mondo C e nonostante abbia studiato su diversi libri il linguaggio C non ho ancora capito una cosa :
Come posso gestire le cartelle o percorsi, per esempio:
C:\Document and Setings\pippo\desktop\Bkup
mettiamo che io in questo percorso io faccia dei backup di un computer. Quindi creo delle sotto cartelle con nome "ggmeseanno", quindi nella cartella Bkup se la apro, vedo un elenco così:

22072006
23072006
24072006
25072006
26072006

Io vorrei ,per cortesia, a questo punto creare un programma che quando creo la cartella 27062006 cancelli la cartella 22072006.
Come si puo' fare?

Poi mi piacerebbe scrivere un programma che se ho un percorso :
C:\Document and Setings\pippo\desktop\Bkup\Bkpresenze.bak
Possa modificare il nome di questo file mettendo al posto di Bkpresenze.bak il seguente nome ggmeseanno.bak

Ultima cosa come si fa' a una volta compilato un programma C creare il suo .exe? altro enigma che purtroppo non sono mai riuscito a trovare.

Potete cortesemente aiutarmi a risolvere questi miei tre enigmi ?
Molte grazie Matteo Andreatta
Kenshin
Newbie
 
Post: 2
Iscritto il: 27/07/06 09:32

Sponsor
 

Postdi zello » 31/07/06 12:16

SAlve sono nuovo del mondo C e nonostante abbia studiato su diversi libri il linguaggio C non ho ancora capito una cosa :
Come posso gestire le cartelle o percorsi

Non lo hai capito perché nessuno standard C ne parla, dato che il C deve poter funzionare anche su sistemi che non hanno alcun concetto di cartella o percorso.
Se invece ti riferisci a Windows, per il tramite delle sue api, tirerei un occhio qui.
Ultima cosa come si fa' a una volta compilato un programma C creare il suo .exe? altro enigma che purtroppo non sono mai riuscito a trovare.

Di solito il compilatore prende un file sorgente (.c) e compila un file oggetto (.obj), il linker prende uno o più file oggetti (.obj) e crea un eseguibile (.exe).
Quasi tutte gli ambienti di sviluppo windows fanno tutto quanto al tuo posto; il come dipende dall'ambiente.
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

Postdi Kenshin » 01/08/06 11:25

grazie per i consigli adesso do' una occhiata .....
ah se a qualcun altro venissero idee sul come fare le metta pure io verro a leggere e scrivere i risultati delle prove
Kenshin
Newbie
 
Post: 2
Iscritto il: 27/07/06 09:32

Postdi zello » 02/08/06 10:57

Poi mi piacerebbe scrivere un programma che se ho un percorso :
C:\Document and Setings\pippo\desktop\Bkup\Bkpresenze.bak
Possa modificare il nome di questo file mettendo al posto di Bkpresenze.bak il seguente nome ggmeseanno.bak

Codice: Seleziona tutto
#include <time.h>
#include <windows.h>
#define SIZEOFDATE sizeof("ggmmaaaa")
#define PATH "C:\\Document and Settings\\pippo\\desktop\\Bkup"
#define SIZEOFPATH sizeof(PATH)+SIZEOFDATE
/*
sizeof(PATH) restituisce anche lo 0 terminatore, ma tanto dobbiamo sostituirlo con il backslash
*/
...
char datestring[SIZEOFDATE];
char newpath[SIZEOFPATH];
time_t time;
struct tm* date;
char* oldpath=PATH "\\Bkpresenze.bak";

t=time(NULL);
date=localtime(&t);
sprintf(datestring,"%2d%2d%d",date->tm_mday,date->tm_mon+1,date->tm_year+1900);
sprintf(newpath,"%s\\%s",PATH,datestring);
/*
Dal PSDK
MoveFile
The MoveFile function moves an existing file or a directory, including its children.
BOOL MoveFile(
  LPCTSTR lpExistingFileName,
  LPCTSTR lpNewFileName
);

*/
MoveFile(oldpath,newpath);

Ottenere la data in questa maniera non è thread safe (dato che il buffer di localtime è condiviso); puoi usare GetLocalTime dalle API di Windows (e perdi un altro po' di portabilità).
Non ho neppure provato a compilare, quindi può essere zeppo di errori.
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

informazione

Postdi trice » 01/11/06 19:27

ciao, volevo chiederti se mi faresti il favore di darmi qualche indicazione per un principiante che vuole capire il programma c,(qualche sito).
grazie. ciao :lol:
trice
Utente Junior
 
Post: 31
Iscritto il: 06/11/05 12:38
Località: catania


Torna a Programmazione


Topic correlati a "[C] problemi a gestire Cartelle":

alcuni problemi...
Autore: gibo
Forum: Assistenza Hardware
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti