mit fprintf auf den Drucker senden



  • Hallo,
    ich möchte in meinem Programm mit einer fprintf - Funktion oder Ähnlichen etwas auf meinem Drucker ausgeben. Der Drucker soll nach einer Funktion eine Zeile drucken und auf den nächsten Aufruf warten. - Also nicht das Papier ausspucken.
    Es ist ein USB-Drucker.

    Danke, VG,
    printer



  • Im Grunde wohl ganz simpel.
    Angenommen du arbeitest unter Linux: Öffne die entsprechende Gerätedatei und schreib rein.
    Mit etwas Glück kommen passende Zeichen raus.



  • aha, ehrlich gesagt hilft mir das nur ganz wenig weiter. das programm ist für windows. unter linux habe ich selten programmiert. ich habe gehört so etwas ist mit fprintf möglich. nur schreibt man dann nicht in eine datei, sondern auf den drucker...



  • printer schrieb:

    aha, ehrlich gesagt hilft mir das nur ganz wenig weiter. das programm ist für windows. unter linux habe ich selten programmiert. ich habe gehört so etwas ist mit fprintf möglich. nur schreibt man dann nicht in eine datei, sondern auf den drucker...

    gehts fast ähnlich... quick and dirty ohne fehlerprüfung 😋

    #include <stdio.h>
    int main()
    {
       FILE *stream;
       stream = fopen("LPT1", "w");
       fprintf(stream, "a line of text\n");
    }
    

    siehe auch ms artikel:
    http://support.microsoft.com/default.aspx?scid=kb;de;23976

    gruß
    der codefrag



  • hi.
    danke, aber es funktioniert nicht. wie ich das sehe spreche ich danit LPT an. der Drucker hängt aber am USB - Port.
    trotzdem danke für ide antwort.
    VG, printer



  • printer schrieb:

    hi.
    danke, aber es funktioniert nicht. wie ich das sehe spreche ich danit LPT an. der Drucker hängt aber am USB - Port.
    trotzdem danke für ide antwort.
    VG, printer

    Hi,
    achso sorry das mit dem USB Drucker habe ich überlesen...

    Was für ein Port ist denn beim Drucker angegeben? (Rechte Maustaste -> Eigenschaften -> Anschlüße)

    Eine weitere Lösung wäre:
    1. Drucker freigeben (z.B. Unter namen Drucker1)
    2. Drucker mappen (net use lpt1: \\Rechner\Drucker1)
    Dann ist die LPT1 Schnittstelle auf den Drucker umgeleitet...

    Ich glaube aber auch das man das in den Druckersettings machen kann (siehe die Portangabe in den Settings)

    Greetz
    der codefrag



  • Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Das wird - so wie ihr es vorhabt - unter Windows nie zuverlässig funktionieren.

    Greetz, Swordfish



  • Swordfish schrieb:

    Das wird - so wie ihr es vorhabt - unter Windows nie zuverlässig funktionieren.

    Greetz, Swordfish

    Hi Swordfish,
    diese These musst du mal erklären 😉

    Wenn es wirklich nur um einen simplen Text geht der an den Drucker gesendet werden soll. Keine Formatierung, keine Bilder, etc.. dann funktioniert das mit fprintf gut 🙂

    Wie kommst du denn darauf das dies nicht "zuverlässig" (wer bzw. was ist das schon?) funktioniert?

    Greetz
    der codefrag



  • Hi Folks,

    Ich glaub er meint das ihr da viel zu viel herum hext, das ist nicht sehr portabel...und das seh ich auch so! Ich würds mal mit ShellExecute versuchen, da musste zwar ne Textdatei erstellen, aber das dürfte (immer noch einfach) schneller gehen...und is sicherer!

    Hier der MSDN-Info-Link: <Push-Me>


Anmelden zum Antworten