Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [C] echo "stampa su lp0" > /dev/lp0

    Da Titolo.
    Come faccio a riproddurre in C Il Comando
    codice:
    echo "stampa su lp0" > /dev/lp0
    che per chi non lo sapesse stampa (su lp0 (stampante parallela)) la stringa "stampa su lp0".

    Grazie.

  2. #2
    system("echo \"stampa su lpt0\" >/dev/lpt0")

  3. #3
    Troppo facile:

    Io intendevo farlo in C con qualcosa del tipo:
    codice:
    int fd
     fd = open("/dev/lp0", ???);
    ...

  4. #4
    non avevi specificato..
    sicuramente con open write read lseek e close puoi lavorarci..
    (forse lseek no..)
    dovrebbe funzionare anche con fopen ma credo che il miglior metodo sia con popen

    man popen:
    codice:
      #include <stdio.h>
    
      {
       FILE *report;
    
     if ((report = popen("/usr/bin/lpr","w")) != NULL)
     {
        /* stampiamo il report */
        int count;
    
        fprintf(report,"w i fagianazzi\n");
        for (count = 0; count < 20; ++count)
      fprintf(report,"%d linee del report stampate\n",count+1);
    
        /*  chiudiamo il report.. */
               fclose(report); /* o anche pclose() */
     }     else fprintf(stderr,"PorcaPigna:  popen() non riuscita su lpr\n");
       }

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Con le streams:

    codice:
    #include <fstream.h>
    
    int main()
    {
    	ofstream printer; //Normale stream di out su file
    	
    	printer.open("PRN"); //Apre l'out sulla stampante di default
    	
    	printer << "CIAO" << " TVTTB"; /*Stampa stringhe sullo stream;
            puoi usarlo come cout*/
    }
    Non funziona con stampanti USB. Il vantaggio è che oltre a PRN puoi aprire anche LPT1, LPT2 e simili.

    Ciao.

  6. #6
    Originariamente inviato da pprllo
    Con le streams:

    codice:
    #include <fstream.h>
    
    int main()
    {
    	ofstream printer; //Normale stream di out su file
    	
    	printer.open("PRN"); //Apre l'out sulla stampante di default
    	
    	printer << "CIAO" << " TVTTB"; /*Stampa stringhe sullo stream;
            puoi usarlo come cout*/
    }
    Ciao
    non e' c
    e'c++

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Originariamente inviato da kentaromiura
    non e' c
    e'c++
    Giusto ! Mi dimentico sempre !

  8. #8
    @kentaromiura:
    Grazie... Il Programma funziona. Ma Non si potrebbe andare direttamente su /dev/lp0 invece che passare da lpr ?

    @pprllo:
    Ho provato il programma sia su Win che su Linux.. Ma non funziona. Lo compila senza problemi ma non parte la stampante.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    ??? Sicuro ??? Che compilatore ? Comunque su WinXP compilato con Borland funziona sicuro perchè ci ho fatto un programma che lo usava e funziona benissimo. Sicuro che hai una stampante su porta parallela ?

  10. #10
    Il Compilatore di Linux:
    codice:
    gcc (GCC) 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
    Copyright (C) 2003 Free Software Foundation, Inc.
    Quello che fa' il programma e' creare un file chiamato PRN
    con quello che poi vai a scrivere. Ma la stampante non viene toccata.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.