Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Jester01

    veterán

    válasz grabber #1559 üzenetére

    1. a main után hiányzik a zárójelpár
    2. a FILE * brain után hiányzik egy pontosvessző
    3. a pointerek csillagja ízlés szerint vagy a típushoz vagy a változóhoz írandó, középre semmiképp (mert úgy aztán tényleg szorzásnak néz ki - de szintaktikailag helyes)
    4. ha egyszer void a main akkor nem lehet benne return(1)
    5. a return nem függvényhívás nem kell oda a zárójel (de ez is helyes szintaktikailag)
    6. a Grabber:\ nem tudom micsoda de bízom benne, hogy a géped tudja :F
    7. viszont érdemes lenne azért ellenőrizni a brain pointert is, hátha mégse
    8. konstans szöveg kiírásához az (f)puts ajánlott, főleg, ha nem tudod mi a szöveg
    9. hibajelzéseket tipikusan az stderr kimenetre küldjük
    10. a while(feof(fp)) az esetek többségében hibás struktúra, helyette az adott beolvasó függvény visszatérési értékét kell vizsgálni
    11. az fgetc meglepő módon int típust ad vissza, hogy tudja jelezni a fájl végét. Tehát a c változó típusa ez legyen
    12. az fwrite hívást gyanítom a fórummotor tette tönkre, tessék szépen használni a Programkód gombot (egy őstagnak magyarázzam? :P )
    13. mindazonáltal ha fgetc van, akkor a kiíráshoz fputc ajánlott, mert az a párja
    14. a kiírás sikerességét is jó ellenőrizni
    15. a kimeneti fájlt nem annyira célszerű bezárni a ciklusban egyetlen karakter kiírása után :N

    #include <stdio.h>

    int main()
    {
    FILE* fp;
    FILE* brain;
    int c;
    fp = fopen("C:\\Tanuljunk meg programozni.txt", "rt");
    brain = fopen("Grabber:\\Head\\Brain.txt", "a+t");
    if (fp == NULL || brain == NULL) {
    fputs("Hiba a fajlok megnyitasakor\n", stderr);
    return 1;
    }
    while((c = fgetc(fp)) != EOF) {
    if (fputc(c, brain) == EOF) {
    fputs("Hiba iras kozben!\n", stderr);
    fclose(brain);
    fclose(fp);
    return 1;
    }
    }
    fclose(brain);
    fclose(fp);
    return 0;
    }

    [ Szerkesztve ]

    Jester

Új hozzászólás Aktív témák