Archiv verlassen und diese Seite im Standarddesign anzeigen : C: Textmodus setzen?
Hallo,
Nachdem meine google-Suche ohne Ergbnis bileb,frage ich einfcah mal hier:
Wie kann ich in einem C Programm dem PC sagen, dass er in den 80x25 Zeichen Textmodus schalten soll?
Geht das überhaupt?
Legolas
2004-02-17, 18:06:28
Hängt das nicht einfach von der Größe des Terminalfensters ab ?
Obligaron
2004-02-17, 18:56:53
Sofern wir jetzt von Windows Eingabeaufforderung reden:
system("mode con cols=80 lines=25");
"The system function passes command to the command interpreter, which executes the string as an operating-system command."
Habs unter win2k ausprobiert, funktoniert soweit.
MfG
Ist das system-Kommando C oder C++?
Es sollte nach Möglichkeit C sein und auch unter DOS laufen( 8 od. 16-bit anwendung ).
Es funktioniert bei mir übrigens nicht, der Compiler sagt mir:
Error: ) expected
Der Fehler ist in der Zeile, in die ich deinen Code eingefügt habe.
Legolas
2004-02-17, 20:16:32
Der "system" Befehl führt einfach ein Kommando auf der Betriebssystem Shell aus. Es ist also kein C Kommando, sondern ein Kommando des darunter liegenden Betriebssystems.
Gibt es irgendeinen Befehl, mit dem man den Grafikmodus unabhängig vom os setzen kann?
Sowas wie der Interrupt 10h in Assembler?
In ANSI-C sicher nicht, denn das soll Plattformunabhängig sein.
Das musst du "von Hand" machen, aber Windows emuliert die alten DOS-Funktionen sowie die Hardwareansteuerung, damit auch alte Programme noch laufen.
Nunja, aber da ist gerade das Problem: Ich will das nicht unter windows, sondern auch im richtigen MS-DOS ( nicht die Eingabeaufforderung ) laufen lassen. Da helfen mir emulierte Windows Funktionen leider nicht.
Na doch, Windows emuliert die DOS-Funktionen. D.h. du nutzt die DOS-Funktionen zum Einstellen des Textmodus, und es funktioniert auch unter Windows.
Wie kann ich denn Assembler in C verwenden?
Ich hab mal gehört, dass das geht, hab abre keinen Plan, wie das gehen soll.
Das ist Compiler-spezifisch.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.