|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
wendy Mini JLI'ler
Anmeldedatum: 03.10.2002 Beiträge: 8 Wohnort: Sumpf Medaillen: Keine
|
Verfasst am: 18.10.2002, 23:51 Titel: Probleme mit c |
|
|
Hi,
kann mir jemand sagen wie ich in reinem c (natürlich Konsole) das Problem los werde, dass eine Eingabe mit getch() oder getche() an anderer Stelle wieder auftaucht, wenn mann dort mit scanf() eine Eingabe erwartet, ich hab da von einer ungetch() gelesen, weiss aber nicht wie man die einsetzt?!
Anderes Problem: wie steuer ich in c einen Drucker an? Geht das etwa mit fopen(), mit welchem Parameter funktioniert das?
Dank, wendy _________________ Mit Vanessa versteht sich Wendy dagegen weniger gut. Vanessa träumt von einer Karriere als Fotomodell. Einkaufen gehen und Jungen sind ihr wichtiger als ihr Pferd Tarik, ein Araber Schimmelwallach. |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 19.10.2002, 13:08 Titel: |
|
|
Es entspricht zwar nicht dem Standard, aber mit fflush(stdin); kannst du den Eingabestream leeren, einfach mal ausprobieren.
Den Drucker steuert man über die API an, das ist nicht ganz so einfach. Schau doch mal in Charles Petzold's Programmierung der WinAPI rein. (Bibliothek)
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
wendy Mini JLI'ler
Anmeldedatum: 03.10.2002 Beiträge: 8 Wohnort: Sumpf Medaillen: Keine
|
Verfasst am: 19.10.2002, 14:52 Titel: ANSI C ? |
|
|
Danke, ich hab vorhin grad erfahren, dass getch() gar kein Standart C sein soll, bzw kein ANSI Standard, ich brauch halt ne Funktion oder würde zumindest gerne wissen wie man in C eine Eingabe direkt von der Tastatur aus einliest. Da erschien mir die getch() als praktisch, wie gesagt gibt es da jedoch eben die Probleme mit dem Tastaturpuffer die ich nur so zu umgehen wusste indem ich einfach zweimal getch() verwendete, hab aber auch was von ungetch gelesen. Das Programm soll eben genauso gut auf dem DOS eines Rechners laufen der Windows benutzt wie auf einem der LINUX benutzt, da steckt dann eben auch das Problem mit dem Drucker drin...
...und das andere Problem (scheint zu sein) funktioniert dann getch() überhaupt in "LINUX C" und wenn schon (was ich annahm) wie bekomm ich eben genau auf der Programmierebene den Tastaturpuffer geleert und zB Werte ausgedruckt?
Vielen Dank ! _________________ Mit Vanessa versteht sich Wendy dagegen weniger gut. Vanessa träumt von einer Karriere als Fotomodell. Einkaufen gehen und Jungen sind ihr wichtiger als ihr Pferd Tarik, ein Araber Schimmelwallach. |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 20.10.2002, 10:16 Titel: |
|
|
getch() ist zwar kein ANSI-C, aber in so gut wie allen C-Implementationen ist das ein Makro auf getc(stdin). Wenn du also getc() verwendest, bist du wieder ANSI-Konform.
Solange du nicht über die Tastaturcodes die Tasten direkt ansprechen willst, funktionieren die Programme auch unter "Linux-C", ein A ist eben immer ein A und kein #...
Druckeransteuerung hingegen ist immer Plattformabhängig, und unter Linux anders als unter Dos und dort anders als unter Windows.
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
CorDharel Junior JLI'ler
Anmeldedatum: 15.10.2002 Beiträge: 73 Wohnort: Winterthur, Zürich, CH Medaillen: Keine
|
Verfasst am: 21.10.2002, 06:57 Titel: |
|
|
Warum willst du ungetch()? Mit zwei getch's geht es (wie du ja auch gesagt hast) auch. _________________ Greetz CorDharel |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|