|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2009
Messaggi: 375
|
[C] EOF su Windows 7 compilando con Dev C++
Salve a tutti, spero solo sia la sezione corretta e la domanda sia lecita. Sono un principiante in materia per cui non linciatemi se la domanda è banale/stupida
Dunque io ho compilato un programma dal libro K&R (Il Linguaggio C) in cui è coinvolto anche l'utilizzo dell'EOF. In passato ho compilato in ambiente Ubuntu con il GCC dalla Shell, lì andava bene e l'EOF avente valore -1 corrispondeva alla combinazione di tasti CTRL+D (se non ricordo male). Ora volevo sapere, qual'è la corrispondente combinazione in Windows (compilo con Dev C++ che mi crea gli gli eseguibili windows, .exe) per generare un corretto EOF? Vi ringrazio in anticipo per l'attenzione |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2009
Messaggi: 375
|
Grazie per la risposta, tuttavia a me non funziona come hai detto (quando premo CTRL+Z semplicemente stampa a schermo "^Z").
Scrivendo una piccola procedura per scovare questo EOF, ho scoperto che da me corrisponde alla combinazione CTRL+C, non ne saprei il motivo ma è così. Tuttavia, scrivendo ancora un'altra procedura ho scoperto un'altra cosa: CTRL+Z me lo prende come EOF ma con CTRL+C mi chiude direttamente la finestra dell'eseguibile su cui sto lavorando. Appena riesco posto i codici delle mie procedure spiegando meglio e nel dettaglio cosa e come succede (so di essere stato molto confusionario adesso). Magari qualcuno con più esperienza di me ha già capito cosa succede e può aiutare me a capirci meglio? Ringrazio in anticipo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2009
Messaggi: 375
|
Ti ringrazio molto, hai chiarito i miei dubbi ora. Ho anche scritto una piccola procedura che, funzionando correttamente, riconosce il EOF (CTRL+Z).
Tuttavia è possibile che con CTRL+C, subito prima di mandare il segnale di KILL ne mandi anche uno di EOF? Questo è il codice della procedura funzionante, che riconosce correttamente CTRL+Z come EOF. Tuttavia, se premo CTRL+C, subito prima di chiudere la finestra(quasi in contemporanea alla chiusura a dire la verità, per cui è anche difficile da notare) appare il messaggio che dovrebbe apparire nel caso di corretto riconoscimento di EOF. Se il segnale di KILL manda anche un EOF i miei dubbi terminano qui. Ma potrebbe anche essere che la procedura sia sbagliata Ecco qui il codice: Codice:
#include <stdio.h>
#include <unistd.h>
main(){
printf("Immettere combinazione di tasti che si presume corrisponda a EOF e premere invio\n");
while (getchar() != EOF ){
printf("Riprovare: se la finestra si chiude dopo la prossima combinazione di tasti allora è stato immesso EOF\n");
}
printf("La combinazione di tasti appena immessa corrisponde a EOF\nLa finestra si chiuderà automaticamente entro 5 secondi.");
sleep(6000);
}
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2007
Città: Palermo
Messaggi: 2155
|
so che è un post del 2010 ma per chi avesse lo stesso problema a me mi è bastato fare cosi: "control"+z e subito dopo premere INVIO, xò deve stare accapo il ^z.
Ultima modifica di Th4N4Th0S : 08-10-2011 alle 12:32. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:21.





















