La funzione printf in c non stampa sempre l'output sullo schermo. Ad esempio, se ti dimentichi di mettere \ n alla fine della stringa che stai stampando, a volte non ottieni l'o/p. Ci sono altre condizioni quando printf non stampa. Ricordo qualcuno che diceva che ci sono 7 condizioni del genere. Ragazzi, per favore aiutatemi.Quando printf non riesce a stampare?
risposta
Standard out è un flusso bufferizzato, non è garantito lo svuotamento a meno che non venga inserito un newline, lo stream sia chiuso o il programma esca normalmente. Se il programma termina in modo anomalo, è possibile che lo stream non si scarichi. Lo standard out è il buffer di riga, motivo per cui un nuovo carattere lo svuoterà. Ci sono buffer che non si svuotano con una nuova riga.
So che questa è una domanda molto vecchia ma che tipo di cosa può inibire un 'printf' di stampa? – Mouin
As user1214634 detto stdout è memorizzato nel buffer e stampa solo sullo schermo in determinate condizioni. Se si desidera forzare la stampa, è possibile chiamare fflush (stdout)
non è che printf
non stampa sempre, è che non è garantito stampare immediatamente. Ciò significa che se lo si utilizza per scopi di debug, non è possibile garantire che ciò accada esattamente quando lo fa nel codice. Se vuoi assicurarti che stampi esattamente quando hai detto chiama fflush(stdout)
.
Nota: In genere non si desidera utilizzare fflush(stdout)
a meno che non si esegue il debug, la sua risorsa davvero intenso e se vi preoccupate per prestazioni di velocità a tutto ciò che ha il potenziale per rallentare se.
c'è un altro caso particolare ho appena incontrato:
mie variabili sono:
line="-24 hours"
line2="24 hours"
e cercare
printf $line
printf $line2
Né funzionerà. Il secondo abbandona la parola "ore" e il primo errore -24 come una bandiera.
Pertanto, ogni volta che uso printf che rimuoverà tutti i personaggi pericolosi, se possibile, utilizzando
sed -r "s/[/\ #;&~]/_/g"
desidero codici di printf possono essere migliorate dallo sviluppatore.
Fare attenzione
Sono confuso, come è questo c? –
- 1. Come stampare un float a precisione singola con printf
- 2. microcontrollore non riesce a malloc
- 3. lldb non riesce a stampare valori variabili con "errore: il riferimento a 'id' è ambiguo"
- 4. Errore di output GCC "riferimento non definito a` printf '"quando si usa una dichiarazione extern NASM per accedere a printf
- 5. Come utilizzare printf per stampare un carattere più volte?
- 6. printf a variabile in C
- 7. Come stampare un long int unsigned con printf in C?
- 8. Promises: ripetere l'operazione fino a quando non riesce?
- 9. Eseguire ripetutamente un comando shell fino a quando non riesce?
- 10. Rileva quando un'immagine non riesce a caricare in Javascript
- 11. dompdf non riesce a caricare
- 12. SendInput non riesce a 64bit
- 13. compositore installazione non riesce quando si riesce a vedere database mysql
- 14. Formattazione a virgola mobile in printf()
- 15. Printf senza ritorno a capo in assemblea
- 16. o.errors.allErrors.each {println it} per impostazione predefinita quando non si riesce a salvare un oggetto dominio
- 17. Semplice printf con sizeof non funziona affatto
- 18. output strano quando uso pthread e printf
- 19. Python non riesce a trovare Elasticsearch
- 20. Graphviz non riesce a trovare alcun carattere
- 21. Libpurple non riesce a connettersi - purple_presence_is_online fallita
- 22. CreateInstanceAndUnwrap non riesce a caricare l'assembly
- 23. X509 non riesce a trovare richiesto oggetto
- 24. Come stampare l'anteprima quando si usa un DocumentPaginator per stampare?
- 25. non riesce a trovare le librerie ssl?
- 26. java equivalente a printf ("% *. * F")
- 27. Quando printf ("% s", char *) interrompe la stampa?
- 28. Query AD cercapersone a volte non riesce
- 29. configurazione Pod non riesce a trovare cocoapods
- 30. CMAKE non riesce a trovare OpenNI
Sei sicuro di pensare a 'printf' e non alle precondizioni dell'apocalisse? –
@KerrekSB O forse i segni di un imminente compito con 7 elementi? – cnicutar
Questo sembra specifico per la piattaforma, dipende dal dispositivo di output. Che sistema operativo e sistema stai usando? –