ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > stdin und stdout umlenken | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
08.06.2004, 21:18 Uhr Mazze Posts: 263 Nutzer |
Hi, ich möchte stdin und stdout auf ein neues con-Fenster umlenken. Bei folgendem Code werden 2 neue Fenster geöffnet. Ich möchte aber, dass Ein- und Ausgabe in *einem* Fenster erscheinen. Geht das? code:#include <stdio.h> int x; int main(void) { freopen("con:40/40/200/200/Out","w",stdout); freopen("con:80/80/200/200/In","r",stdin); scanf("%d", &x); printf("lalalan"); scanf("%d", &x); } Grund ist, dass ein mit vbcc kompiliertes Program kein Konsolen-Fenster öffnet, wenn es von der Workbench gestartet wird. Die Ein- und Ausgabe mit printf und co. landet deshalb im Nirwana. [ - Antworten - Zitieren - Direktlink - ] |
08.06.2004, 22:00 Uhr thomas Posts: 7716 Nutzer |
Versuch's mal mit freopen("con:40/40/200/200/InOut","w",stdout); freopen("*","r",stdin); Bei AmigaDOS müßte das so gehen. Ich weiß nur nicht, ob stdout bis Output() durchgreift, oder ob es nur eine C-interne Variable ist. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ Dieser Beitrag wurde von thomas am 08.06.2004 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
09.06.2004, 09:03 Uhr gni Posts: 1106 Nutzer |
Zitat:Das geht nur, wenn pr_ConsoleTask vom der vbcc-Runtime gesetzt wurde. Zitat:Im Shell-Fall kann Output() als FileHandle für stdout benutzt. Muß aber nicht zwingend. Es gibt keine direkte Verbindung des C std[out,in,err] und (AmigaOS-)Prozessfilehandles. [ - Antworten - Zitieren - Direktlink - ] |
09.06.2004, 13:41 Uhr Mazze Posts: 263 Nutzer |
Danke für die Hinweise, @thomas: hat nicht geklappt. Falls euch interessiert, was ich mache: ich schreibe einen Sourcecodegenerator. Er erstellt aus einer Eingabedatei eine main.c und main.h. Es gibt Parameter zum Library öffnen, Tooltypes auslesen etc Ich mache das jetzt so, dass beim Start von der Workbench für stdin und stdout je ein con-Fenster mit der AUTO-Option geöffnet wird. Es geht hauptsächlich darum, dass Statusausgaben und Debug-Meldungen nicht im NILwana landen. Wenn ein Anwender echte Shell-Funktionalität braucht, muss er sich halt selbst was mit den entsprechenden Betriebssystem-Funktionen basteln. [ - Antworten - Zitieren - Direktlink - ] |
09.06.2004, 18:35 Uhr Holger Posts: 8116 Nutzer |
Da Dateinamen ala "con:..." eh nicht portabel sind, kannst Du auch AmigaDOS-Funktionen benutzen, um die Ausgabe zu setzen. Das funktioniert dann auch, wenn das C-Programm nicht stdio benutzt. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > stdin und stdout umlenken | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |