Oppure

Loading
27/05/11 16:17
TheKaneB
boh.. ho finito le idee :-|
aaa
27/05/11 16:22
Premoli
noo!!!

Ma tu hai provato?
In alternativa c'è un qualche modo per "simulare" la pressione di invio (senza usare le API)?
aaa
27/05/11 16:26
TheKaneB
Postato originariamente da Premoli:

noo!!!

Ma tu hai provato?
In alternativa c'è un qualche modo per "simulare" la pressione di invio (senza usare le API)?


ho provato nel mio fantasmagorico compilatore sinaptico iperuranico... (cioè no).
Vado a memoria :p
aaa
27/05/11 16:27
Premoli
Se ti può essere di "aiuto" ho notato che ad esempio
se faccio così:
ciaoCTRL-Z
e poi stampo a video trovo alla fine della stringa il simbolo →
ovvero ciao→ ovvero il carattere ascii 26 che dovrebbe essere proprio l'EOF...
aaa
27/05/11 16:37
Premoli
Ho risolto così:

#include <stdio.h>

int main()
{
    char str;

    do{
        str=getchar();
    }while(str!=26);

    return 0;
}


Anche se sinceramente non capisco perché con EOF non funzionava a dovere
aaa
27/05/11 16:41
TheKaneB
Postato originariamente da Premoli:

Se ti può essere di "aiuto" ho notato che ad esempio
se faccio così:
ciaoCTRL-Z
e poi stampo a video trovo alla fine della stringa il simbolo &#8594;
ovvero ciao&#8594; ovvero il carattere ascii 26 che dovrebbe essere proprio l'EOF...


non il 26, EOF è codificato dal -1 (-1 a 32 bit, quindi 0xFFFFFFFF che è diverso dal -1 a 8bit della tabella ASCII che corrisponde in realtà al numero 255 0x000000FF)

daniweb.com/software-development/c/threads/32953/…

Qui dice che su Linux EOF è generato da CTRL-D invece su Windows bisogna fare CTRL-Z + Invio
Quindi è tutto nella norma, bastava solo capire come Windows genera il carattere EOF :-)
aaa
27/05/11 16:43
TheKaneB
Postato originariamente da Premoli:

Ho risolto così:

#include <stdio.h>

int main()
{
    char str;

    do{
        str=getchar();
    }while(str!=26);

    return 0;
}


Anche se sinceramente non capisco perché con EOF non funzionava a dovere


Soluzione errata... vedi sopra.
aaa
27/05/11 16:46
Premoli
Postato originariamente da TheKaneB:

Postato originariamente da Premoli:

Ho risolto così:

#include <stdio.h>

int main()
{
    char str;

    do{
        str=getchar();
    }while(str!=26);

    return 0;
}


Anche se sinceramente non capisco perché con EOF non funzionava a dovere


Soluzione errata... vedi sopra.


Infatti non funziona sempre... ma allora come devo fare?
aaa