C ++ reads a stream of bytes Pictures

//    

FILE * fp = NULL;
    char * pFileData;
    int file_size=0;
    fp = fopen("1.jpg", "rb" );
    if(fp!=NULL)
    {
        fseek( fp, 0, SEEK_END );
        file_size = ftell( fp );
        fseek( fp, 0, SEEK_SET );

        = new new char pFileData [FILE_SIZE];
        fread (pFileData,. 1, FILE_SIZE, FP);
        fclose (FP);
    }
    // Image 22 is finishing transmitting a byte stream
    int nDataSize = file_size; // image size
    int nlength = nDataSize + 4;
    * the SendData BYTE;
    the SendData = (BYTE *) new new char [nlength];
    BYTE * P = the SendData;

    @ 22 image transfer a byte stream mode
    BYTE * pData1 = (BYTE *) (& nDataSize);
    the memcpy (P, pData1,4); P = +. 4; // save the first four bytes length
    memcpy (p, (BYTE *) (pFileData), nDataSize) ;

@ 22 image transfer two bytes streamed
    @ * P = (byte) (0xFF & nDataSize);
    // P ++;
    // * P = (byte) ((nDataSize >>. 8) & 0xFF);
    // P ++ ;
    // * P = (byte) ((nDataSize >> 16) & 0xFF);
    // P ++;
    // * P = (byte) ((nDataSize >> 24) & 0xFF);
    // P ++;
    // for (int i = 0; i <H; i ++)
    // {
    // g_dstImage2.ptr UCHAR * Data = <UCHAR> (i); // get the first address of the i-th row
    // for (int j = 0; j <W; J ++)
    // {
    // * P = Data [J];
    // P ++;
    //}
    //}

Guess you like

Origin blog.csdn.net/ZDT_zdh/article/details/90643642