User Tools

Site Tools


tanszek:oktatas:szamitastechnika:fajlkezeles_peldak

1. Feladat: 1.txt nevű fáljba mentse el a felhasználóval bevitt 1 soros szöveget.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char str[1000];
    FILE *fptr;

    fptr = fopen("1.txt", "w");
    if(fptr == NULL)
    {
        printf("Nem lehet megnyitni a 1.txt-t!");
        exit(1);
    }
    scanf("%s", str);
    fprintf(fptr, "%s", str);
    fclose(fptr);
    return 0;
}

2. Feladat: Kerjen be a kiírandó sorok számát a felhasználótól és kérjen be annyi sor szöveget, majd írja ki a 1.txt-nevű állományba. Az eredményt olvass vissza és írja ki a képernyőre.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE * fptr;
    int i, n;
    char str[100];
    char strBe;

    printf("Hany soros lesz a file? ");
    scanf("%d", &n);
    printf("Kerem az adatot:\n");

    fptr = fopen ("1.txt", "w");

    for(i = 0; i < n; i++)
    {
        scanf("%s", str);
        fprintf(fptr, "%s\n", str);
    }
    fclose (fptr);

    // file beolvasasa és kiiras

    fptr = fopen ("1.txt", "r");
    strBe = fgetc(fptr);

    while (strBe != EOF)
    {
        printf ("%c", strBe);
        strBe = fgetc(fptr);
    }

    fclose (fptr);
    return 0;
}

3. Feladat: Készítsen egy hallgatók nevét és érdemjegyét kódoló struktúrát, majd mentse el n darab hallgató adatait egy bináris file-ba. Olvassa vissza a fájl tartalmát ér írassa ki.

#include <stdio.h>
#include <stdlib.h>

typedef struct Hallagto
{
    char nev[40];
    int jegy;
}Hallgato;

int main(void)
{
    FILE * fptr;
    int i, n;
    char str[100];
    char strBe;

    printf("Hany hallgato van? ");
    scanf("%d", &n);

    Hallgato halg;

    printf("Kerem az adatokat:\n");

    fptr = fopen ("1.bin", "wb");

    for(i = 0; i < n; i++)
    {
        printf("Nev:");
        scanf("%s", halg.nev);
        printf("Jegy:");
        scanf("%d", &halg.jegy);

        fwrite(&halg, sizeof(Hallgato), 1, fptr);
    }

    fclose (fptr);

    // file beolvasasa és kiiras

    fptr = fopen ("1.bin", "rb");

    Hallgato *h = (Hallgato *) malloc(n * sizeof(Hallgato));

    fread(h, sizeof(Hallgato), n, fptr);

    for(i = 0; i < n; i++)
    {
        printf("Nev: %s\n", h[i].nev);
        printf("Jegy: %d\n", h[i].jegy);
    }

    fclose (fptr);
    return 0;
}

tanszek/oktatas/szamitastechnika/fajlkezeles_peldak.txt · Last modified: 2022/09/05 21:34 by knehez