Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    16

    [C++]Inviare il contenuto di un file .txt in un socket

    Salve a tutti avrei bisogno di un aiuto : devo inviare il contenuto di un file .txt tramite un socket. Vi inserisco il codice
    codice:
    ifstream fileDiInput;
    	fileDiInput.open("prova.txt");
    	if (!fileDiInput) {
    		mySocket->sendWithoutFrame("Impossibile stampare la mappa\r\n",31);
    	} else {
    		mySocket->sendWithoutFrame("Ecco la mappa direttamente dal file\r\n",37);
    		//qui devo inviare il file sul socket
                    mySocket->sendWithoutFrame("Invio terminato\r\n",17);
    		}
    	}
    	fileDiInput.close();
    Come posso fare? Non è che potreste darmi una mano?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    16
    Aggiungo, sperando possiate darmi una mano che la variabile mySocket è di tipo Tcpip*.
    Ho provato a fare
    codice:
    char buf;
            while (!fileDiInput.eof()) {
    		fileDiInput>>buf;
    		mySocket->sendWithoutFrame(buf,1);
    	}
    problema: il compilatore mi dice così
    codice:
    error C2664: 'sendWithoutFrame' : cannot convert parameter 1 from 'char' to 'const void *'
    Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    Poiché finita questa cosa ho finito tutto, non c'è nessuna anima pia ke sa dove mettere le mani?

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da shinji01
    Aggiungo, sperando possiate darmi una mano che la variabile mySocket è di tipo Tcpip*.
    Ho provato a fare
    codice:
    char buf;
            while (!fileDiInput.eof()) {
    		fileDiInput>>buf;
    		mySocket->sendWithoutFrame(buf,1);
    	}
    problema: il compilatore mi dice così
    codice:
    error C2664: 'sendWithoutFrame' : cannot convert parameter 1 from 'char' to 'const void *'
    Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    Poiché finita questa cosa ho finito tutto, non c'è nessuna anima pia ke sa dove mettere le mani?
    Non è che il buffer deve essere un puntatore a carattere e non un carattere singolo?
    codice:
    char *buf;  // <- E non "char buf;"
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    16
    Grazie! Per ora ho risolto così:
    codice:
    char buf;
    while (!fileDiInput.eof()) {
    	fileDiInput>>buf;
    	char* pbuf = &buf;
    	mySocket->sendWithoutFrame(pbuf,1);
    	}
    e sembra funzionare, anche se a volte il telnet mi visualizza caratteri strani ! Però potrebbe essere semplicemente un problema del telnet. Quando lo proverò con il client vediamo cosa restituisce!

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.