Archief - [C Taal] Print via command prop

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

CosMiced

Legacy Member
Hallo, Ik heb een probleem met een printer(die moet printen normaal) wanneer je een exe file opent , dit is de code atm

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *tekst, *printer;
int c;

tekst = fopen("TIENLIJNEN.TXT", "r"); /* inputbestand openen */
if (tekst == NULL)
{
printf("Het bestand kon niet geopend worden\n");
getchar();
exit (EXIT_FAILURE);
}

printer = fopen("PRN", "w"); /* printerbestand openen */
if (printer == NULL)
{
printf("De printer is niet beschikbaar \n");
getchar();
exit (EXIT_FAILURE);
}

do
{
c = getc(tekst); /* één karakter van het bestand opnemen */
if (c != EOF)
{
putchar(c); /* op het scherm tonen */
putc(c, printer); /* het karakter afdrukken op de printer */
}
} while (c != EOF); /* herhalen tot EOF */

fclose(tekst);
fclose(printer);

return 0;
}

Curahee Q

Legacy Member
Dat is niet je probleem, dat is wat het moet doen.

Wat doet het niet en wat doet het wel?

CosMiced

Legacy Member
Als ik het opstart toont hij alleen de tekst uit de txt , maar print niet , en mijn exe loopt vast :s het lijkt dat ie vast loopt in do while

Curahee Q

Legacy Member
Moet het in C zijn of mag het ook C++? Want in C++ lijkt me zoiets wel gemakkelijker.
Code:
#include <iostream>
#include <string>
using namespace std;

void open_inputstream(ifstream & stream, const string & filename) {
	stream.open(filename.c_str());

	if(!stream.is_open()) {
		throw "Could not open file!";
	}
}

void close_inputstream(ifstream & stream) {
	stream.close();
}


int main() {
	ifstream stream;
	string lijn;

	try {
		open_inputstream(stream, "TIENLIJNEN.txt");

		stream >> lijn;

		while(!stream.fail()) {
			cout << lijn << endl;

			stream >> lijn;
		}

		close_inputstream(stream);
	}
	catch(const char* s) {
		cerr << s << endl;
	}

	return 0;
}

Natuurlijk drukt dit nog niets af maar zie link paar posts hierboven.

Tyfius

Legacy Member
Curahee Q zei:
Moet het in C zijn of mag het ook C++? Want in C++ lijkt me zoiets wel gemakkelijker.[...]
Dat is relatief. Met zijn code is niks mis daar het bij mij perfect werkt en blijkt te doen wat het moet doen. Allee, het is te zeggen. Het schrijft uiteindelijk die dingen weg naar een file, het gaat niet fysiek iets printen. Dat gaat ge volgens mij uit standaard C niet zomaar kunnen. Daar gaat ge OS specifieke dingen voor moeten doen lijkt me.

Persoonlijk vind ik zoiets klein en eenvoudig sneller en rapper gedaan in C dan in C++.

edit: kan blijkbaar onder Windows wel werken maar uw string is verkeerd. 't Geen ik terug vond was fopen("PRN:").

Curahee Q

Legacy Member
Ben niet bekend met C en vind zulke dingen dus gemakkelijker in C++ ;).

NeverwinterX

Legacy Member
Ah oei ik heb verkeerd gelezen, dacht dat je het over C++ had.
Ik denk dat dit kan helpen: Print pagina - [C] Tekens naar printer schrijven met CUPS
Lees ook de andere posts daar. Op linux moet je blijkbaar iets anders gebruiken dan PRN.

edit: op een website vond ik ook "PRN:", mogelijk gewoon een foutje op die website, maar probeer het eens.

CosMiced

Legacy Member
Het moest in C gemaakt worden :) en tis gefixt , het probleem was dat de printer in een soort netwerk zat, dat ie het niet wilde afprinten (weird story )
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan