Hirdetés

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

  • CPT.Pirk
    Jómunkásember

    Ez még mindig nagyon rossz, mivel most is minden lépésben nézed a \n-t, továbbá a -- és a ++ szépen kiüti egymást.

    Igen, majd ha jól működik akkor két 0 lesz a végén de ez mindegy mert a stringnek az első nullánál lesz logikailag vége.

    A visszatérési értéknek ha az eredeti paramétert akarod, akkor célszerű másolatot csinálni belőle és azt piszkálni, az eredetit meg békénhagyni.

    Uhh tényleg.

    char *strChomp(char *buffer)
    {
    if (buffer && *buffer) {
    while (*buffer != '\0') {
    buffer++;
    }
    if (*buffer-- == '\n'){
    *buffer = '\0';
    }
    return buffer;
    }
    return NULL;
    }

    Most ha minden igaz, elmegy a végére, ha odaért, megnézi a lezáró nulla előtti karaktert, és ha az \n, akkor átírja \0-ra.

    Nekem csak vissza kell adni a módosított, vagy az eredeti stringet, ha nem volt \n a végén. Ilyenkor a *buffer-t hogyan viszem vissza a kezdeti pozícióba? Ez most elég amatőr kérdés lesz, de gondolom nem egy "ellenkező irányú" while ciklussal lépdeljek vissza.

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