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

    [c]read &write susseguenti

    Altro problema probabilmente stupido...

    Ho un puntatore a un buffer sul quale scrivere. LEggo da un socket cio' che mi serve e lo devo mettere in buffer, successivamente lo rimando indietro su una write così:

    codice:
    void *buff=(void *)malloc(totale);
    
    read(myfd,&buff,totale);
    
    write(myfd,&buff,totale);
    presupponendo che il socket si a gia' connesso a un'altro socket, come effettivamente e', non capisco bene il funzionamento del puntaotore....
    La read legge e copia in buffer, e sposta l'offset del fd, ma controllando il puntatore al buffer mi rendo conto che cambia, il che non ha molto senso, anche perche' la write seguente scrive esattamente cio' che viene scritto nel buffer dalla read, il che vuol dire che il puntatore e' nel punto giusto....

    A questo punto mi chiedo se l'errore nn sia nell'uso dell'&, perche' se poi voglio usare il buffer in operazioni seguenti (al posto della write che ho adesso) non risulta pieno, bensì vuoto....
    Quando va messo & e quando no? l'& nn corrisponde a scrivere nella locazione di memoria puntata dal puntatore?

    boh, sto impazzendo....



    thx in anticipo...

  2. #2
    nessuno????

    ragazzi e' importante, anche perche' senno' non riesco a capire se 4 read susseguenti da 25 bytes equivalgono a una da 100....

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non capisco perche' allochi un buffer usando un puntatore void ...
    Semmai dovresti scrivere

    char *buff=(char *)malloc(totale);

    E, infine, dato che hai gia' un puntatore appena allocato, ovvero buff, perche' passi un puntatore a puntatore quando ne serve uno semplice, ovvero

    read(myfd, (void *)buff, totale);

    write(myfd, (void *)buff, totale);

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.