Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Connessione ad un web server.

    Ciao a tutti,
    dopo aver trovato spunti e soluzioni sul form ... mi sono arenato.
    Lo scopo è quello di "scaricare" il sorgente (quindi html) di una pagina web.
    Sono riuscito a fare la connessione, a mandere l'intestazione ed a richiedere la pagina desiderata.
    Per semplicità post solo la parte di codice dove ho il problema...

    codice:
    i=0;  
    N=1;
     buff = (char*) malloc(N*sizeof(char)); 
    while (recv (sd,buff,N,0))
     {
       printf("%d) %s\n",i,buff);
        i++;
     }
    Ovviamente sd è il socket aperto.

    Il problema è che l'output è di questo tipo

    100) h$>
    101) t$>
    102) m$>
    etc...
    mi trovo i caratteri $>.

    Visto che non sono molto pratico (o per nulla pratico) del c... ho il seguente dubbio:
    con malloc alloco lo spazio per un singolo carattere... come mai mi mostra 3 caratteri.
    se uso %c invece di %s mi restituisce un solo carratere (sempre lo stesso): un meno.

    Aiuto e Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Come da regolamento, il codice va postato indentato utilizzando gli appositi tag CODE (Regolamento interno, punto 6).


    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

  3. #3
    sorry...

  4. #4
    perchè la printf si aspetta una stringa che termina con il carattere di terminazione.
    prova così
    codice:
    i=0;  
    N=1;
     buff = (char*) malloc(N*sizeof(char)+1);
    buff[N*sizeof(char)]='\0';
    while (recv (sd,buff,N,0))
     {
       printf("%d) %s\n",i,buff);
        i++;
     }

  5. #5
    GRAZIE 1000....

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.