文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>将文件内容转换成十六进制格式

将文件内容转换成十六进制格式

时间:2010-11-29  来源:royen

include "stdafx.h"
#define     byte    unsigned char

int _tmain(int argc, _TCHAR* argv[])
{
    if( NULL == argv[1] )
    {
        printf("Parameter needed!\n");
        return 1;
    }

    FILE    *f_Exefile = NULL;
    FILE    *f_Report  = NULL;

    f_Exefile = _wfopen( argv[1],L"rb");
    if( NULL == f_Exefile )
    {
        printf("Open executable file failed!\n");
        return 1;
    }

    f_Report = _wfopen( L"D:\\Report.txt",L"wt");
    if( NULL == f_Report )
    {
        printf("Create report file failed!\n");
        return 1;
    }

    fseek(f_Exefile,0,SEEK_END);
    long filesize = ftell(f_Exefile);
    fseek(f_Exefile,0,SEEK_SET);    

    byte buffer[1024];    
    char* buffer2 = new char[2];
    string tmp;
    long readed = 0;
    int  actual = 0;     
    
    while( readed < filesize )
    {
        memset( buffer,'\0',1024);
        actual = fread( buffer,sizeof(byte),1023,f_Exefile);        
        readed += actual;
                
        tmp = "";
        for( int i= 0; i<actual; i++ )
        {                
            memset(buffer2,'\0',2);
            sprintf( buffer2,"%02x",buffer[i]);
            buffer2[0] = toupper(buffer2[0]);
            buffer2[1] = toupper(buffer2[1]);
            tmp.append(buffer2);            
        }
        fwrite( tmp.c_str(),sizeof(char),tmp.length(),f_Report);
    }

    if( f_Exefile )
    {
        fclose( f_Exefile );
        f_Exefile = NULL;
    }

    if( f_Report )
    {
        fclose( f_Report );
        f_Report = NULL;
    }

    return 0;
}

 

        欢迎转载,转载请注明出处:http://www.cnblogs.com/royenhome

相关阅读 更多 +
排行榜 更多 +
哥布林弹球b服手游下载

哥布林弹球b服手游下载

休闲益智 下载
小马样式盒游戏下载

小马样式盒游戏下载

休闲益智 下载
异变小镇中文版下载安装

异变小镇中文版下载安装

冒险解谜 下载