pointer socket?



  • Hallo,
    ich hab folgendes Problem.
    ich möchte ein Bildes von der Grabberkarte einlesen und dann mit sockets an den empfänger senden..
    zuerst möcht ich die Adresse des Speicherbereichs senden.
    aber das ist hier mal egal.

    Meine Frage???
    Warum bekomm ich beim sender ein falschen ausgabewert?????
    Warum ist der Wert von "bild" verschieden von wert zu "showbild"
    und was muss ich ändern dass ich bei "bild" den Wert von"showbild" bekomme

    danke Oli

    //Grabber headerdatei:
     ..
    
        // Returns the last grabbed image. May only be called, if the grabber was initialized in the
        // corresponding mode.
        // The image is located in driver memory and valid until the next call to 'grab()'.
        IhImage16 getImage16 ();
     ...
    
     //Sender
       IhImage16 bild;
    	  ... 
    	  bild=Grabber1->getImage16();
    	  write(create_socket,&bild,4);
    
    	  printf ("bild: %d\n",(int)bild[0]);  /hier falsche ausgabe wert!!!
    	  ...
    
    //Empfänger:
    
    int *image;
    
    read(new_socket,&image,4);
    
    printf ("showbild: %d\n",(int)image[0]);   //hier richtiger wert
    

    Ausgabe:

    bild: -1230708736
    showbild: -421720064



  • Das ist so, weil

    IhImage16 bild;
    

    nicht das selbe ist, wie

    int *image;
    

    .

    Ich glaube es müsste so heißen:

    printf ("bild: %d\n",(int)bild);
    

    Das hier ist übrigens das ANSI C Forum. Das C++ Forum ist weiter unten.


Anmelden zum Antworten