从别人的空间里找了一段汉字汉字转换二进制,并显示出来的代码,有点悲剧啊,调试出错,'tentobinary' : function does not take 1 parameters,函数参数错误,大神帮我看看。m_chinesecharacters是汉字edit空间绑定的变量,m_binary是二进制绑定的变量。
int unicode;
void CUnicodeDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(true);
CString PP;
PP=m_chinesecharacters;
if(m_chinesecharacters.IsEmpty())
{
AfxMessageBox("请导入txt文本或者输入明文!");
return;
}
int len=PP.GetLength();
int unicode; //十进制转化为十六进制进用到的中间值
const int MAX_FILE_LENGTH=1000;
WCHAR UnicodeFile[MAX_FILE_LENGTH];
MultiByteToWideChar( CP_UTF8, 0, PP,-1,UnicodeFile,MAX_FILE_LENGTH);
PP="";
for(int loop=0;loop<len/2;loop++)
{
unicode=UnicodeFile[loop];
m_binary=tentobinary(unicode);
UpdateData(false);
}
}
CString CUnicodeDlg::tentobinary()
{
int i; /*循环变量*/
char a[17]; /*输出的进制数*/
memset(a,0,17);
a[16]='/0';
int iNum=unicode;
for (i=15;i>=0;i--)
{
if(iNum==0 )
{
for(;i>=0;i--)
{
a[i]='0';
}
break;
}
if(iNum%2 == 0 )
{/*如果进制数被整除*/
iNum=iNum/2;
a[i] ='0'; /*相应进制数位置*/
}
else
{
iNum=(iNum-1)/2;
a[i]= '1'; /*否则置 */
}
}
return (CString)a;
}原网页在这里:http://blog.csdn.net/zhixingzhe/article/details/4610063
int unicode;
void CUnicodeDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(true);
CString PP;
PP=m_chinesecharacters;
if(m_chinesecharacters.IsEmpty())
{
AfxMessageBox("请导入txt文本或者输入明文!");
return;
}
int len=PP.GetLength();
int unicode; //十进制转化为十六进制进用到的中间值
const int MAX_FILE_LENGTH=1000;
WCHAR UnicodeFile[MAX_FILE_LENGTH];
MultiByteToWideChar( CP_UTF8, 0, PP,-1,UnicodeFile,MAX_FILE_LENGTH);
PP="";
for(int loop=0;loop<len/2;loop++)
{
unicode=UnicodeFile[loop];
m_binary=tentobinary(unicode);
UpdateData(false);
}
}
CString CUnicodeDlg::tentobinary()
{
int i; /*循环变量*/
char a[17]; /*输出的进制数*/
memset(a,0,17);
a[16]='/0';
int iNum=unicode;
for (i=15;i>=0;i--)
{
if(iNum==0 )
{
for(;i>=0;i--)
{
a[i]='0';
}
break;
}
if(iNum%2 == 0 )
{/*如果进制数被整除*/
iNum=iNum/2;
a[i] ='0'; /*相应进制数位置*/
}
else
{
iNum=(iNum-1)/2;
a[i]= '1'; /*否则置 */
}
}
return (CString)a;
}原网页在这里:http://blog.csdn.net/zhixingzhe/article/details/4610063
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货