Mit C++ eine beliebige Datei ausdrucken
-
Ich schaffe es nicht eine beliebige Datei auf dem Drucker zu drucken.
Ich schaffes ledglich nur den Drucker zu öffnen um auf Ihnen zu schreiben.
Aber ich scheitere im eine beliebige Datei zu schicken die dann ausdruckt.Ich Hoffe Ihr könnt mir helfen.
Danke im vorraus.
Hier ist mein CODE:
#pragma hdrstop #include <condefs.h> #include <conio.h> #include <stdio.h> #include <ctype.h> //--------------------------------------------------------------------------- void main() { FILE *ausgabe; char antwort; char dateiname[15]; printf ("C(onsole), P(rinter), D(iskette): "); antwort=toupper(getch()); printf("%c\n",antwort); printf("\nWelche Datei drucken?\n"); gets(dateiname); if (strlen(dateiname)== 0) exit(0); while((stream = fopen(dateiname,"r"))==NULL) { printf ("'%s' nicht gefunden\a\n",dateiname); printf ("\nWelche Datei drucken?\n>"); gets (dateiname); if (strlen(dateiname)==0) exit(0); } switch (antwort) { case 'P': ausgabe=fopen("LPT2","w"); break; case 'C': ausgabe=fopen("con","w"); break; case 'D': printf(" Hier druckt er mir zwar einen Text, aber wie schicke ich im eine Datei ???"); } fprintf(ausgabe"\n"); fclose(ausgabe); getch();putchar('\n'); }<edit>Bitte Code-Tags verwenden!</edit>
-
auf welche betriebsystem arbeitetst du, Und dein geposteter code ist ANSI C(eigentlich nicht einmal das). Aber am Preprozessor befehl #pragma hdrstop, denke ich du arbeitest mit vc6 aufwärts.
Also hier die gegen Frage:
Willst du das in C oder C++ machen, und bfür was du dich entscheidest verwenden die such funktion denn diese frage wurde siche schon sehr oft beantwortetalso unter windows gibt es sicher in der winapi ein funktion um zu Drucken
mfg spjoe
-
Ich verstehe offengestanden nicht, warum das mit C++ zu gemacht werden soll. Wenn Du Daten in Deinem Programm erstellst, dann ist natuerlich ein Ansprechen des Druckers sinnvoll, aber ansonsten wuerde ich das dem Betriebssystem ueberlassen (im schlimmsten Falle ueber system):
system ("lpr ZuDrucken.txt");
-
du mußt nach case 'D' halt den namen der ausgabedatei erfragen genauso wie du es mit der eingabedatei gemacht hast. und anschließend schreibst du
ausgabe=fopen(ausgabedateiname,"w");am besten, du schreibst für das einlesen von dateinamen eine eigene funktion. die kannst du dann sowohl für die eingabedatei als auch für die ausgabedatei verwenden

der aufruf dieser funktion könnte zb so aussehen:
erg=dateiname_einlesen(dateiname,"Welche Datei drucken?"); if(!erg) exit(0);bzw
while(!dateiname_einlesen(ausgabedateiname,"In welche Datei ausgeben?")) puts("Sie müssen einen Dateinamen eingeben");