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

  • CPT.Pirk
    Jómunkásember

    ez nem jo:
    if (*buffer-- == '\n'){
    a -- csak a feltetel kiertekelese utan fog vegrehajtodni, ezert ez az if sose teljesul (mindig 0 lesz a buffer erteke amikor ideer). ezert a fuggvenyed mindig az utolso (nem null) karakterre mutato pointert ad vissza.

    Ilyenkor a *buffer-t hogyan viszem vissza a kezdeti pozícióba?
    ne a buffer pointert vidd vissza, hanem hasznalj egy masikat a mozgasra (ahogy azt.Jester01 mar irta). a fuggvenyed elejen csinalj egy ilyet:

    char * q = buffer;

    es azutan a q-val dolgozz, a vegen petig visszaterhetsz a bufferral

    mas:
    mikozben ezt probaltam elojott a kovetkezo hiba, miert segfaultol a devcpp erre?
    char * a = "abcd";
    *a = 'b';

    Lassan lassan talán felfogom már.

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

    Kb. így gondoljátok?

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