指针、字符串与整型数据类型的转换

再也不用小心翼翼的实验各种数据类型转换的API看看是否能达到自己想要的效果。只需强制类型转换与位运算结合,各种数据类型转换就能很轻松的实现。

 

抛砖引玉一下。

#include "Windows.h" / //sld 字符串转换为指针值 / void atop(char* src, void** pp) { DWORD dwTemp = 0; for(int i=0;i<4;i++) { dwTemp += src[i]<<8*(3-i); } *pp = (void*)(DWORD)(dwTemp); } /// //sld DWORD 转换为 字符串 /// void dtoa(DWORD src, char* dest) { for(int i=0;i>8; } dest[sizeof(DWORD)] = '/0'; } / //sld 字符串 转换为 DWORD / void atod(char* src, DWORD& dest) { dest = 0; for(int i=0;i>(3-i)*8; } } void main() { //DWORD 转换为 字符串 DWORD dwCRC32 = 0x12345678; char szCRC[4]; dtoa(dwCRC32, szCRC); //字符串转换为指针值 char sz[4] = {0x11, 0x22, 0x33, 0x44}; void* p = NULL; atop(sz, &p); //指针 转换为 字符串 char szDst[4]; ptoa(p, szDst); //DWORD 转换为 字符串 DWORD dwDeviceID = 6; char szDeviceID[32]; dtoa(dwDeviceID, szDeviceID); //字符串 转换为 DWORD DWORD dwD = 0; atod(szDeviceID, dwD); _asm{ NOP } }  

你可能感兴趣的:(C++)