Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.720 pregleda

Najnovija ↓

rad sa datotekama-pomoc ? 29.12.2007. u 20:39 · pre 229 meseci #1
Krenuo sam malo da provezbam rad sa datotekama i nesto mi ne ide.
E ovako uzeo sam najednostavniji primer.
Pokusao sam da napisem kod koji ce procitati fajl koji korisniki bude uneo i nakon toga izracunati broj pojavljivanja karaktera
'a' u tom fajlu.Taj rezultat pojavljivanja slova 'a' treba upisati u fajl "Slovo.txt".

Evo koda:

Code:

*Program koji ce na oosnovu izabranog fajla procitati sadrzaj */
/* i ispisati broj pojavljivanja slova a u fajl "Slovo.txt" */

#include<stdio.h>
#define MAKS 100


int main(void)
{
    FILE *dat;//pokazivac na strukturni tip
    FILE *pok;//pokazivan na strukturni TIP 

    char putanja[MAKS + 1];//smestanje putanje fajla
    int slovo;
    int a;
    a=0;

    //Unos putanje
    printf("Putanja:\n");
    gets(putanja);

    //Pristup fajlovima
    dat=fopen(putanja,"r");
    pok=fopen("Slovo.txt","a+");

    if(dat == NULL)
    {
        printf("Pogresna putanja\n");
    }
    else
    {
        while( (slovo = fgetc(dat)) != EOF)
        {
            if(slovo == 'a')
                a++;

        }
        fprintf(pok,"******************\n");
        fprintf(pok,"Slovo a se pjavilo = %d \n",a);
        fprintf(pok,"******************\n");
    }

    fclose(dat);
    fclose(pok);

    return 0;
}


Re: rad sa datotekama-pomoc ? 29.12.2007. u 22:27 · pre 229 meseci #2
Kod mene radi sve ok ali sa malom ispravkom. Umjesto pok=fopen("Slovo.txt","a+"); ja sam stavio u write (w) mode
pok=fopen("Slovo.txt","w");
Prvo sam napravio ulaznu datoteku /home/muamer/a.txt sa sl. sadrzajem:
Citat:

a.txt:
aaaaaaaaaa

Nakon pokretanja programa sam unio putanju:
Citat:

putanja: /home/muamer/a.txt

i kao izlaznu datoteku dobijam:
Citat:

Slovo.txt
**************************
Slovo a se pojavilo = 10
**************************

Ova izlazna datoteka ce ti se pojaviti na istom mjestu gdje ti se nalazi i tvoj program, bez obzira gdje ti smjestio svoju ulaznu datoteku.
Potpis
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
Re: rad sa datotekama-pomoc ? 02.01.2008. u 01:11 · pre 229 meseci #4
Jedno pitanje:
Dali "putanja" iz:
Citat:

//Unos putanje
printf("Putanja:\n");
gets(putanja);

//Pristup fajlovima
dat=fopen(putanja,"r");
pok=fopen("Slovo.txt","a+");

predstavlja adresu gde se nalazi fajl npr: C:\\PROGRAM\\...
ili predstavlja naziv fajla?

Re: rad sa datotekama-pomoc ? 02.01.2008. u 19:50 · pre 229 meseci #5
Pa ako ti se taj file nalazi na istoj lokaciji gdje se nalazi i tvoj program onda je dovoljno kao putanju staviti ime file-a.
U suprotnom ako se tvoj ulazni file nalazi npr. na c:/Foo/file.txt, a tvoj program na d:/Program/program.exe kao putanju ces morati navesti
c:/Foo/file.txt.
Potpis
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
Re: rad sa datotekama-pomoc ? 03.01.2008. u 00:09 · pre 229 meseci #6
Hvala na objasnjenju.
A kad sacuvavam datoteku kako da mu upisem putanju gde da je sacuva?
Npr hocu datoteku fajl.txt da smestim u folder: C:\Datoteke\ sta onda upisem u funkciju fopen?
Ja sam pokusavo nesto ovako:
Code:
pok=fopen("C:\Datoteke\fajl.txt","w"); 

ali ovo definitivno nevalja
Re: rad sa datotekama-pomoc ? 03.01.2008. u 05:44 · pre 229 meseci #7
Pri samom otvaranju datoteke za upisivanje, ona se sacuvava na navedenoj lokaciji.

Npr:
Code:

pok=fopen("c:\\program files\\datoteke\\datoteka.txt","w");


U ovom slucaju, datoteka ce biti sacuvana na lokaciji: c:\program files\datoteke\
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme