Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)

[es] :: C/C++ programiranje :: Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)

[ Pregleda: 1696 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

easyyu
Pol isidor
MSc. Elektrotehnika-Telekomunikacije
Kanjiza

Član broj: 18220
Poruke: 1729
*.sksyu.net.

ICQ: 314201297


+170 Profil

icon Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)30.06.2006. u 01:48 - pre 217 meseci
Pomagajte...Nikako nemogu da resim sledecu situaciju..Rec je o ispitnom zadatku..Sadrzaj zadatka je nebitan,jedino sto je mi je bitno, je kreiranje i otvaranje datoteka..Evo sta se trazi..Trazi se da pri izlasku iz programa sacuvam podatke koje sam koristio u listi...i to u formatu ddmmgggg.dat gde je dd-predstavlja dan (npr 30),zatim mm predstavlja mesec (npr 06)i gggg-predstavlja godinu (npr 2006).E sad ovo mi nije bio problem resiti.To radi..Problem nastaje kada zelim ovu datoteku da otvorim i ucitam je u listu!Zasto zato sto recimo ukoliko sam danas poslednji put koristio program,izlazni fajl ce se zvati 30062006.dat.
MOJE PITANJE..Kako da napravim npr:
Code:

if(dat=fopen("30062006.dat","r"),dat==NULL){
  printf("nemogu da otvorim fajl taj i taj...");
  getche();
  return(0);
}

ali da umesto imena fajla pod znacima navodnika stoji *.dat,posto nemogu da koristim uvek isti datum(ime fajla) jer se iz dana u dan fajl pri izlasku iz programa menja (sutra ce se fajl zvati 01072006.dat) i kada budem zeleo da ucitam listu iz fajla dobicu gresku jer se imena fajlova ne poklapaju...
Nadam se da ste shvatili sta mi je problem...
Siguran sam da ima vise resenja da se ovo izvede..a ja vas molim za najlakse..(naravno u obliku f-ja).Ja mislim da bi trebalo koristi neki pokazivac na fajl unutar direktorijuma koji se zavrsava sa .dat posto u direktoruijumu ni tako nema drugih fajlova osim ime_programa.exe i datum.dat..Mozda gresim...
PLEASE HELP!!!!Za 4 dana mi je ispit,a ovo uvek trazi!
Thanks.
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)30.06.2006. u 04:55 - pre 217 meseci
Možda nisam dobro razumeo šta hoćeš, ali zašto jednostavno ne generišeš današnji datum u obliku ddmmgggg kao što ga praviš kada kreiraš datoteku i onda pokušaš da otvoriš fajl ddmmgggg.dat? Mada možda ja nisam dobro skontao...
 
Odgovor na temu

easyyu
Pol isidor
MSc. Elektrotehnika-Telekomunikacije
Kanjiza

Član broj: 18220
Poruke: 1729
*.sksyu.net.

ICQ: 314201297


+170 Profil

icon Re: Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)30.06.2006. u 13:44 - pre 217 meseci
Mislim da nisi dovoljno precizno procitao text zadatka..Generisem ja njega...ali sledeci put ga ne mogu vec otvoriti,jer ne znam koji je datum.dat!
Shvatas?Ako danas zapisem da je 30062006.dat sutra sa delom koda:
if(dat=fopen(30062006.dat),dat=NULL)
ce mi javiti da je problem u tome sto datoteka ne postoji..odnosno dat ce biti NULL.
 
Odgovor na temu

ljube
Ljubiša Knežević
Banjaluka

Član broj: 22429
Poruke: 158
81.93.74.*



+2 Profil

icon Re: Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)30.06.2006. u 14:51 - pre 217 meseci
Code:


#include <io.h>
#include <stdio.h>
#include <time.h>

void Vrijeme (int t, char * Vrijeme);

void Vrijeme (int t, char * Vrijeme)
{
  // if (Vrijeme == null) return;
  time_t protekloVrijeme;
  struct tm *tp;
  time (&protekloVrijeme);
  tp = localtime(&protekloVrijeme);
  switch (t)
  {
   case 0: // puni Vrijeme u formatu HH:MM:SSS
   strftime(Vrijeme,256,"%H:%M:%S",tp); break;
   case 1: // sati
   strftime(Vrijeme,256,"%H",tp); break;
   case 2: // minute
   strftime(Vrijeme,256,"%M",tp); break;
   case 3: // sekunde
   strftime(Vrijeme,256,"%S",tp); break;
   case 4: //  AM ili PM oznaka
   strftime(Vrijeme,256,"%p",tp); break;
   case 5: // godina
   strftime(Vrijeme,256,"%Y",tp); break;
   case 6: // mjesec
   strftime(Vrijeme,256,"%m",tp); break;
   case 7: // dan
   strftime(Vrijeme,256,"%d",tp); break;
   case 8: // naziv dana 
   strftime(Vrijeme,256,"%A",tp); break;
   case 9: // dan u sedmici
   strftime(Vrijeme,256,"%w",tp); break;
   case 10: // dan u godini 
   strftime(Vrijeme,256,"%j",tp); break;
   case 11: // sedmica
   strftime(Vrijeme,256,"%U",tp); break;
  }
}

int main(int argc, char *argv[])
{
  char dan[5];
  char mjesec[5];
  char godina[5];
  char mojFajl[24];    
  
  Vrijeme(5,godina);
  Vrijeme(6,mjesec);
  Vrijeme(7,dan);
  sprintf(mojFajl, "%s%s%s.dat", dan,mjesec,godina); // <-- sada imas genericki naziv fajla u varijabli mojFajl
  printf(mojFajl); 
  return 0;
}





Funkciju vrijeme koristis tako da joj prosljedis brojcanu oznaku sta zelis da dobijes (npr: 5 je godina, 6 je mjesec, 7 je dan itd..)
Vrijeme se upisuje u varijablu <char * Vrijeme> koja se prosledjuje kao drugi argument.

Poz,
Ljubisa


 
Odgovor na temu

[es] :: C/C++ programiranje :: Please HELP!Rad sa datotekama(Uskoro ce mi ispit!!!)

[ Pregleda: 1696 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.