PDA

View Full Version : [C++] dubbio nell'utilizzo di printf


arghideutis
16-11-2009, 14:14
Ciao,

sto scrivendo un programmino ma non capisco perchè alcuni comandi printf() non mi scrivono l'output nel momento giusto, cioè se metto un printf("qualcosa") prima di una funzione x() succede che sul terminale appare la scritta "qualcosa" solo dopo l'esecuzione della funzione x().

Non capisco perchè avviene questa cosa, qualcuno mi può dare una spiegazione?

Grazie

wizard1993
16-11-2009, 14:21
se non erro perchè fra il momento il cui il printf mette i caratteri nello standard output e quando questi vengono visualzzati intercorre del tempo, tempo in cui il programma ha già fatto altre cose

arghideutis
16-11-2009, 14:26
quindi dovrei mettere un wait dopo il printf giusto?

fero86
16-11-2009, 15:18
vorrei tanto capire chi é il maledetto che insegna alla gente a usare printf in C++ visto che non é affatto il primo caso che vedo :cry:

arghideutis
16-11-2009, 15:22
vorrei tanto capire chi é il maledetto che insegna alla gente a usare printf in C++ visto che non é affatto il primo caso che vedo :cry:

con cout mi fa la stessa cosa...

wizard1993
16-11-2009, 15:23
vorrei tanto capire chi é il maledetto che insegna alla gente a usare printf in C++ visto che non é affatto il primo caso che vedo :cry:

nella mia scuola chi insegna "c++ con printf", porta a sua discolpa che rispetto a una funzione che come parametro ha un puntatore a char e ha una come parametro opzionale un array, l'introduzione di due operatori in più quand non se ne conosce alcuno sia troppo

arghideutis
16-11-2009, 15:27
nella mia scuola chi insegna "c++ con printf", porta a sua discolpa che rispetto a una funzione che come parametro ha un puntatore a char e ha una come parametro opzionale un array, l'introduzione di due operatori in più quand non se ne conosce alcuno sia troppo

non ho capito niente...comunque io non sono un esperto e mi interessa capire perchè succede quello che ho scritto sopra, come posso risolvere?

wizard1993
16-11-2009, 15:29
non ho capito niente...comunque io non sono un esperto e mi interessa capire perchè succede quello che ho scritto sopra, come posso risolvere?
il quote era per fero, comunque te dubito possa farci qualcosa, ancor meno se non conosci bene il linguaggio

arghideutis
16-11-2009, 15:32
si ok non era un'offesa.....cmq che "non posso farci qualcosa" lo so, è per questo che ho chiesto un aiuto...

fero86
16-11-2009, 15:37
con cout mi fa la stessa cosa... cambia qualcosa facendo un flush?

fero86
16-11-2009, 15:37
nella mia scuola chi insegna "c++ con printf", porta a sua discolpa che rispetto a una funzione che come parametro ha un puntatore a char e ha una come parametro opzionale un array, l'introduzione di due operatori in più quand non se ne conosce alcuno sia troppo non ho capito niente nemmeno io :mbe:

wizard1993
16-11-2009, 15:38
si ok non era un'offesa.....cmq che "non posso farci qualcosa" lo so, è per questo che ho chiesto un aiuto...

in realtà ho sbagliato il soggetto, credo quello più corretto sia il noi, almeno io e te non possiamo farci nulla.
la domanda mi sorge spontanea, ma da che requisito sorge questa necessità?

ndakota
16-11-2009, 15:38
Posta il codice.

arghideutis
16-11-2009, 15:40
cambia qualcosa facendo un flush?

si...mi pare che adesso funziona.

grazie

wizard1993
16-11-2009, 16:13
non ho capito niente nemmeno io :mbe:

esponevo che secondo qualcuno, le capire la funzione printf, sia più semplice che capire il cout o il cin, senza però ricordarsi che mentre agli operatori si crede quasi per fede, alle funzioni no

fero86
16-11-2009, 21:22
esponevo che secondo qualcuno, le capire la funzione printf, sia più semplice che capire il cout o il cin, senza però ricordarsi che mentre agli operatori si crede quasi per fede, alle funzioni no qualcuno sta capendo? :stordita:

vhost87
16-11-2009, 21:29
qualcuno sta capendo? :stordita:

No... forse ho afferrato che alcuni docenti hanno la loro filosofia e ti inculcano in testa il printf() come la funzione base di output di qualsiasi linguaggio C LIKE.

Ma forse ho capito male.
Sul C++ si va di cout generalmente... ma non conosco il linguaggio, quindi ne resto fuori (rimango ai miei System.out.*) dei famosi OOOOOOPPPPPP :D