读书人

如何用vc把图片读取成16进制字符串

发布时间: 2012-03-13 11:21:12 作者: rapoo

怎么用vc把图片读取成16进制字符串
怎么用vc把图片读取成16进制字符串, (不是BS64编码或别的)
我想在RTF中直接写入图片信息,需要把图片读取成16进制字符串,请高手帮忙

[解决办法]
直接%02X编码,每2个字符代表一个字节。
不过RTF中这样出来的不是图片
[解决办法]
BYTE *buff=NULL;
CFile file;
file.Open(...);
int nlen=file.GetLenth();
buff=new BYTE[nlen+1];
file.read(buff,nlen+1);
file.SeeKto(位图中数据开始的地方)
file.Read(buff,FILELEN);
[解决办法]
从msdn上改写

C/C++ code
#include <stdio.h>void main( void ){   FILE *stream;   char list[3000];   int  i, numread, numwritten;     if( (stream = fopen( "fread.bmp", "rb" )) != NULL )   {      int len = _filelength(_fileno(stream));      numread = fread( list, sizeof( char ), len, stream );      printf( "Number of items read = %d\n", numread );      printf( "Contents of buffer = %.25s\n", list );      fclose( stream );   }   else      printf( "File could not be opened\n" );}
[解决办法]
C/C++ code#include <stdio.h>

void main( void )
{
FILE *stream;
char list[3000];
int i, numread, numwritten;


if( (stream = fopen( "fread.bmp", "rb" )) != NULL )
{
int len = _filelength(_fileno(stream));
numread = fread( list, sizeof( char ), len, stream );
printf( "Number of items read = %d\n", numread );
printf( "Contents of buffer = %.25s\n", list );
fclose( stream );
}
else
printf( "File could not be opened\n" );
}

读书人网 >VC/MFC

热点推荐