rad sa datotekama?

Fidelito_Castro

Obećava
Poruka
62
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:

Kod:
*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 pojavilo = %d \n",a);
        fprintf(pok,"******************\n");
    }

    fclose(dat);
    fclose(pok);

    return 0;
}
 
Ovaj kod ti radi samo sto datoteku pravi u folderu gde se i nalazi program.
Probaj ovo:
Kod:
/*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;
    FILE *pok;

    char putanja[MAKS + 1];
    char putanja2[MAks +1];
    int slovo;
    int a;
    a=0;

    printf("Putanja:\n");
    gets(putanja);
    printf("Putanja izlaznog fajla:\n");
    gets(putanja2);

    dat=fopen(putanja,"r");
    pok=fopen(putanja2,"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 pojavilo = %d \n",a);
        fprintf(pok,"******************\n");
    }
    printf("%d",a);
    fclose(dat);
    fclose(pok);

    return 0;
}
 

Back
Top