Drucken aus der Konsole mit "/f"



  • Hallo liebe Programmier-Gemeinde,

    Ich habe folgendes Problem:
    Ich möchte mit einer Konsolenanwendung drucken und hab mir
    da mal von irgendwo dieses Beispiel geloadet:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main ()
    {
        FILE* printer = fopen("LPT1","wb");
    
        if(!printer)
        {
            printf("\n\n\tDrucker konnte nicht gefunden werden, bzw. ist nicht eingeschaltet.\n");
            return EXIT_FAILURE;
        }
    
        fputs("Test Test Test\n",printer);
        fputc('\f',printer);
    
        fclose(printer);
    
        return EXIT_SUCCESS;
    }
    

    Aber ich kann nicht drucken. Der Drucker war übrigens angeschaltet.
    Er ist an den PC meines Vaters angeschlossen, zu welchem mein PC
    eine Netzwerkverbindung hat. Kann es daran liegen?

    Schonmal danke im voraus!



  • Das ist extrem System-Abhängig was du da machst. LPT1 ist vermutlich der Parallel-Port. \f existiert als Escape-Sequenz auch nicht im ANSI C Standard.



  • Um diese Geschichte von der Systemabhängigkeit noch etwas zu expandieren: Das Programm würde unter MS-DOS funktionieren, wenn der Drucker an der ersten parallelen Schnittstelle angeschlossen wäre. Unter Windows unter den gleichen Voraussetzungen wahrscheinlich auch.
    Bei Netzwerkdruckern oder anderen Schnittstellen (USB) geht das nicht mehr.



  • OK, danke dass ihr mir das sagt! 👍

    Wie stell ich das stattdessen an?
    Ich hab übrigens wegen dem Drucker nachgesehen.
    Unter "Systemsteuerung/Drucker/...". In den
    Eigenschaften des Druckers steht drin, dass
    er am Anschluss "LPT1" dranhängt. Aber egal.
    Wie kann ich drucken? 🙂

    Danke im voraus!



  • Hast du das Programm auf dem Rechner deines Vaters (an dem, wie du sagst, der Drucker direkt angeschlossen ist) laufen lassen?



  • Nö, bisher noch nicht. Aber ich will ja, dass es dann an
    jedem Rechner funktioniert, auf dem das Progg verwendet wird.
    Sonst hilfts ja nichts. Gibts da nicht irgendwie so ne Lib
    oder Funktion oder Routine oder was weiß ich?


Anmelden zum Antworten