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

  • Coconut's
    csendes tag

    Nem vagyok nagy C-s, de valszeg a beolvasás lenyeli a sorvégét, azt most nem tudnám megmondani ezzel mit kell művelni.
    A torlés viszont azért nem megy szerintem, mert az if-esle nek lefelejtetted az else ágát és a sort mindenképpen kiírod az átmeneti fájlba.

    if(tmp2 == &celpont1 || tmp2 == &celpont2 || tmp2 == &celpont3 || tmp2 == &celpont4)
    {
    fprintf(tmp, " ");
    }
    else
    {
    putc(tmp2[TMP], tmp);
    }

    Szóval ezt így kéne.

    Köszönöm szépen a segítséget, és Jester01-nek is, de sajnos nem jöttem rá még, hogy miért rakja egy sorba a dolgokat az átmeneti fájlban. Valahogy ez a törlés nem fekszik nekem, itt a jelenlegi kódom, az észrevételeket szívesen fogadom továbbra is, és köszi előre is:)

    void torol(MUSIC zene, FILE *f)
    {
    fflush(stdin);

    char celpont1, celpont2, celpont3, celpont4;
    char s[10]="";

    printf("A torles funkciot hasznalod, a kovetkezokben add meg, pontosan melyik zenet szeretned torolni!\n");
    system("pause");
    printf("Add meg, melyik eloado zenejet szeretned torolni!");
    fgets(&celpont1,MAX_STR,stdin);
    printf("Add meg, melyik szerzo zenejet szeretned torolni!");
    fgets(&celpont2,MAX_STR,stdin);
    printf("Add meg, milyen hosszusagu zenet szeretnel torolni!");
    fgets(s,99,stdin);
    celpont3=atoi(s);
    printf("Add meg, melyik mufaju zenet szeretned torolni!");
    fgets(&celpont4,MAX_STR,stdin);

    FILE *tmp = fopen("tmp.txt", "wb");

    /*// Másolás az átmeneti fájlba
    char tmp2;

    while(!feof(f))
    {
    tmp2 = getc(f);
    if(strcmp(tmp2, celpont1) != 0 || strcmp(tmp2, celpont2) != 0 || strcmp(tmp2, celpont3) != 0 || strcmp(tmp2, celpont4) != 0)
    {
    fprintf(tmp, " ");
    }
    else{
    putc(tmp2, tmp);
    };
    }
    // Visszamásolás
    while(!feof(tmp))
    {
    tmp2 = getc(tmp);
    putc(tmp2, f);
    }; */


    fclose(tmp);
    }

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