|
下载地址
void CMFCApplication2Dlg::OnBnClickedButtonDtohex()
{
UpdateData(TRUE);
int num = atoi(m_sInput);
m_sInput.Format("0x%x",num);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonHextod()
{
UpdateData(TRUE);
m_sInput.MakeLower();
char sz[50]={0};
strcpy(sz,(LPCSTR)m_sInput);
char* p = sz;
int nlen = strlen(p);
WORD dw = * (WORD*)p;
char* p1="0x";
WORD dw1 = *(WORD*)p1;
if (dw==dw1)
{
p+=2;
nlen-=2;
}
int data=0;
int base=1;
char *pend = p+nlen-1;
while (pend>=p)
{
if (*pend>=""a"")
{
data+= ( (*pend-""a""+10) *base);
}
else
{
data+= ( (*pend-""0"") *base);
}
base*=16;
pend--;
}
m_sInput.Format("%d",data);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonDtob()
{
UpdateData(TRUE);
int num = atoi(m_sInput);
char sz[100]={0};
char sz2[100]={0};
int i=0;
while (num>0)
{
int n = num%2;
//TRACE("%d",n);
if (n==1)
{
sz[i]=""1"";
}
else
{
sz[i]=""0"";
}
i++;
num/=2;
}
i--;
for (int j=0;j<=i;j++)
{
sz2[j]=sz[i-j];
}
m_sInput = sz2;
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonBtod()
{
UpdateData(TRUE);
m_sInput.MakeLower();
char sz[100]={0};
strcpy(sz,(LPCSTR)m_sInput);
char* p = sz;
int nlen = strlen(p);
WORD dw = * (WORD*)p;
int data=0;
int base=1;
char *pend = p+nlen-1;
while (pend>=p)
{
data+= ( (*pend-""0"") *base);
base*=2;
pend--;
}
m_sInput.Format("%d",data);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonRgbtoh()
{
UpdateData(TRUE);
m_sInput.MakeLower();
char rgb[3]={0};
char sz[50]={0};
strcpy(sz,(LPCSTR)m_sInput);
char* p = sz;
int nlen = strlen(p);
int i = 0;
char *tokenPtr=strtok(sz,",");
while(tokenPtr!=NULL)
{
//cout<<tokenPtr<<""\n"";
rgb[i] = atoi(tokenPtr);
i++;
tokenPtr=strtok(NULL,",");
}
if (i!=3)
{
AfxMessageBox("请输入如:12,255,241");
return;
}
//int aa = RGB(1,2,3);
m_sInput.Format("0x%06x",RGB(rgb[0],rgb[1],rgb[2]));
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonHtorgb()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
m_sInput.MakeLower();
char sz[50]={0};
strcpy(sz,(LPCSTR)m_sInput);
char* p = sz;
int nlen = strlen(p);
WORD dw = * (WORD*)p;
char* p1="0x";
WORD dw1 = *(WORD*)p1;
if (dw==dw1)
{
p+=2;
nlen-=2;
}
int data=0;
int base=1;
char *pend = p+nlen-1;
while (pend>=p)
{
if (*pend>=""a"")
{
data+= ( (*pend-""a""+10) *base);
}
else
{
data+= ( (*pend-""0"") *base);
}
base*=16;
pend--;
}
//m_sInput.Format("%d",data);
byte*pRgb =(byte*)&data;
m_sInput.Format("%d,%d,%d",pRgb[0],pRgb[1],pRgb[2]);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonAsciitod()
{
UpdateData(TRUE);
LPCSTR p=(LPCSTR)m_sInput;
m_sInput.Format("%d",*p);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonDtoasciit()
{
UpdateData(TRUE);
int num = atoi(m_sInput);
m_sInput.Format("%c",num);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonDwtoip()
{
UpdateData(TRUE);
DWORD dw = atol(m_sInput);
byte ary_by[4]={0};
memcpy(ary_by,&dw,sizeof(byte)*4);
m_sInput.Format("%d.%d.%d.%d",ary_by[0],ary_by[1],ary_by[2],ary_by[3]);
UpdateData(FALSE);
}
void CMFCApplication2Dlg::OnBnClickedButtonIptodw()
{
UpdateData(TRUE);
char sz[50]={0};
strcpy(sz,(LPCSTR)m_sInput);
char* p = sz;
int i = 0;
char *tokenPtr=strtok(p,".");
byte ary_by[4]={0};
while(tokenPtr!=NULL)
{
ary_by[i] = atoi(tokenPtr);
i++;
tokenPtr=strtok(NULL,".");
}
if (i!=4)
{
AfxMessageBox("请输入如:192.168.0.68");
return;
}
DWORD dw;
memcpy(&dw,ary_by,sizeof(ary_by)*4);
m_sInput.Format("%d",dw);
UpdateData(FALSE);
}
|
|
| 1分 |
不错,还是蛮好的~
|
| 1分 |
神奇的组合
|
| 1分 |
不错。。。支持一下
|
| 1分 |
推荐一个吧,看有没有可以优化的地方,或者潜在的bug!
|
| 1分 |
的确 |
| 1分 |
好牛逼的样子
|
|
谢谢大家的支持,希望对大家有用处,花了一个早上写的,早就想写这个东东了,呵呵
|
|
| 1分 |
挺有用的挺有用的
|
| 1分 |
不错的工具。
|
| 1分 |
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
int main() {
int i,v;
char bs[33];
char b[33];
char hs[9];
char h[9];
char s[4];
char *e;
// 十进制整数转二进制串;
i=1024;
ltoa(i,b,2);
sprintf(bs,"%032s",b);
printf("i=%d,bs=%s\n",i,bs);
// 十进制整数转十六进制串;
i=1024;
ltoa(i,h,16);
sprintf(hs,"%08s",h);
printf("i=%d,hs=%s\n",i,hs);
// 十六进制字符串转成十进制数
strcpy(hs,"00000400");
sscanf(hs,"%x",&i);
printf("hs=%s,i=%d\n",hs,i);
// 二进制字符串转化为十六进制字符串;
strcpy(bs,"00000000000000000000010000000000");
i=strtol(bs,&e,2);
ltoa(i,h,16);
sprintf(hs,"%08s",h);
printf("bs=%s,hs=%s\n",bs,hs);
// 二进制字符串转化为十进制数;
strcpy(bs,"00000000000000000000010000000000");
i=strtol(bs,&e,2);
printf("bs=%s,i=%d\n",bs,i);
// 十六进制字符串转成二进制串
strcpy(hs,"00000400");
sscanf(hs,"%x",&i);
ltoa(i,b,2);
sprintf(bs,"%032s",b);
printf("hs=%s,bs=%s\n",hs,bs);
// ASC\GBK字符串转十六进制串
strcpy(s,"a汉");
i=0;
while (1) {
if (0==s[i]) break;
sprintf(hs+i*2,"%02X",(unsigned char)s[i]);
i++;
}
setlocale(LC_ALL,"chs");
printf("s=%s,hs=%s\n",s,hs);
// 十六进制字符串转成汉字(GBK)及字符(ASC)
strcpy(hs,"61BABA");
i=0;
while (1) {
if (1!=sscanf(hs+i*2,"%2x",&v)) break;
s[i]=(char)v;
i++;
}
s[i]=0;
printf("hs=%s,s=%s\n",hs,s);
return 0;
}
//i=1024,bs=00000000000000000000010000000000
//i=1024,hs=00000400
//hs=00000400,i=1024
//bs=00000000000000000000010000000000,hs=00000400
//bs=00000000000000000000010000000000,i=1024
//hs=00000400,bs=00000000000000000000010000000000
//s=a汉,hs=61BABA
//hs=61BABA,s=a汉
|
| 1分 |
实用,赞一个
|
| 1分 |
C++版块是没有什么可以推荐了么?
|
| 1分 |
实在没亮点~
|
| 1分 |
挺好,不错,赞一个。
|
| 1分 |
楼主强!赵老师强!
|
| 1分 |
赵老师
|
| 1分 |
来试一下~~
|
| 1分 |
分享总是值得赞扬的。。。虽然没去看。。嘎嘎
|
| 1分 |
还没学C语言,看不懂
|
| 1分 |
– – .
|
| 1分 |
bucuo ////////
|
| 1分 |
都是高手a!
|
| 1分 |
不错,界面有点丑
|
| 1分 |
支持 支持 支持
|
| 1分 |
分享总是值得鼓励的。
楼主是应该是个新人, 支持ing。 |
| 1分 |
www.qg10086.net
|
| 1分 |
赞一个
|
| 1分 |
实用,赞一个
|
| 1分 |
亲亲,支持下~~~~~~~~~~~~~~~~
|
| 1分 |
挺好,不错,赞一个!
|
| 1分 |
不错哦哦o 哦
|
| 1分 |
支持分享好软件。
|
| 1分 |
很不错的样子
|
| 1分 |
界面不错,似乎标题可以改个程序名。
|
| 1分 |
应该不是新人了;支持; |
| 1分 |
支持,学习了!
|
| 1分 |
支持支持。。。。。。。。。。。。。。。
|
| 1分 |
上首页了。。。
|
| 1分 |
支持,学习了!
|
| 1分 |
赵老师太强大了。。。
学习了。。! |
| 1分 |
学习了
|
| 1分 |
进制转换啊。可以。
|
| 1分 |
很是需要呢,很是需要呢
|
| 1分 |
没早看见啊,以前用到
|
| 1分 |
比较实用,收藏先。
|
| 1分 |
支持!应该有用。
|
| 1分 |
很强大,学习了
|
| 1分 |
收藏!
|
|
很强大,学习了
|
|
|
呵呵。
|
|
|
高级计算器。。。。。
|
|
|
厉害啊啊啊啊啊啊啊
|
|
|
支持原创,感谢了!
|
|
|
明显建议在stdafx.h中加:
#if defined _M_IX86 #pragma comment(linker,"/manifestdependency:"type=""win32"" name=""Microsoft.Windows.Common-Controls"" version=""6.0.0.0"" processorArchitecture=""x86"" publicKeyToken=""6595b64144ccf1df"" language=""*"""") #elif defined _M_X64 #pragma comment(linker,"/manifestdependency:"type=""win32"" name=""Microsoft.Windows.Common-Controls"" version=""6.0.0.0"" processorArchitecture=""amd64"" publicKeyToken=""6595b64144ccf1df"" language=""*"""") #else #pragma comment(linker,"/manifestdependency:"type=""win32"" name=""Microsoft.Windows.Common-Controls"" version=""6.0.0.0"" processorArchitecture=""*"" publicKeyToken=""6595b64144ccf1df"" language=""*"""") #endif |
|
|
感谢分享
|
|
|
不错。。。支持一下
|
|
|
这个早就有,只不过没你这个功能全,是给做web前端和做xss的人用的,这是我写的
![]() |
|
|
哇。。。。支持一个
|
|
|
虽然看不懂但还是要赞一下
|
|
|
不错,真的好
|
|
|
不明觉厉
|
|
|
谢谢谢谢谢谢谢谢
|
|
|
好
|
|
|
目测是c
|
|
|
外观好看点就更好了
|
|
|
怎么感觉好多评论都是小号啊 你看那昵称 难道CSDN也有人来刷分??
|
|
|
支持楼主的作品!
|
|
|
小工具挺实用的 自己做过,类似老赵的写法。
若果在加上unicode 的就更好 |
|
|
其实就是倒分党 |
|
|
看你写得如此麻烦
16进制字符串转数值只要调用 unsigned long value = strtol(szstr, 0, 16); 10进制字符串转数值同样函数 unsigned long value strtol(szstr, 0, 10); 至于ip什么的转换字节塞入ws2_32里面的函数即可,另外的RGB宏什么的,这代码量也就白来行 |
|
|
看着这么多代码,有种回到大学的感觉
|
|
|
不错,值得学习。
|
|
|
非常感谢,这样做对数据类型有个比较清晰的认识。如果能有注释就更好了。。
|
|
|
|
|
|
非常强大哦,不错
|
|
|
我只想说一句话,程序员的最终目标是学好编程,造福人类,结贴,散分
|
|
|
下载下来看看。
|
|
|
学习一下…..
|
|
|
赵老师赞一个~
|
|
|
下来玩玩儿sswc
|
|
|
没有积分啊df
|
|
|
好牛的样子 不过dword是啥?
|
|
|
C++么?
|
|
|
谢谢楼主分享
|
|
|
支持原创,感谢了!
|
|
|
很实用啊。。。。。。。。。
|
|
|
虽然没亮点,但分享就是一种勇气
|
|
|
不错 试试
|
|
|
顶起!!分享
|
|
|
好东西,下载来看看
|
|
|
谢谢楼主啦~~~拿走研究了~~~
|
|
|
学教您如何更快获得可用分 你还可以输入9999个字符 (Ctrl+Enter)
|
|
|
支持
|
|
|
好厉害!mark
|
|
|
赞 正需要 自己又懒得写
|
|
|
不错,谢谢分享
|
|
|
细心的人,成长真快啊
|
|
|
进制转换,像楼主学习了
|
|
|
不错,赞一个。
|
|
|
0.0,没积分,下载不了
|
|
|
有用啊 非常好
|
|
|
lz 刚入门c++ 一般用vc6.0编程 你这个工具是用什么编译器做的? 另外头文件是神马 现在完全是小白 望指教
|
|
|
这个东西还是挺有用的,碰上问题了是真心烦
|
|
|
灰常给力,好强大
|
|
|
+1 |
|
|
不错哟,学习之
|
|

