楼主:强制转换没问题呀。 CString text=buf; int number=atoi(text); text.Format("%o",b); SetDlgItemText(IDC_EDIT1,text);
重要的是2进制用format可以转化么? 参数怎么写?
请你关注:Example /* ITOA.C: This program converts integers of various * sizes to strings in various radixes. */#include <stdlib.h> #include <stdio.h>void main( void ) { char buffer[20]; int i = 3445; long l = -344115L; unsigned long ul = 1234567890UL; _itoa( i, buffer, 10 ); printf( "String of integer %d (radix 10): %s\n", i, buffer ); _itoa( i, buffer, 16 ); printf( "String of integer %d (radix 16): 0x%s\n", i, buffer ); _itoa( i, buffer, 2 ); printf( "String of integer %d (radix 2): %s\n", i, buffer ); _ltoa( l, buffer, 16 ); printf( "String of long int %ld (radix 16): 0x%s\n", l, buffer ); _ultoa( ul, buffer, 16 ); printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul, buffer ); } OutputString of integer 3445 (radix 10): 3445 String of integer 3445 (radix 16): 0xd75 String of integer 3445 (radix 2): 110101110101 String of long int -344115 (radix 16): 0xfffabfcd String of unsigned long 1234567890 (radix 16): 0x499602d2
然后呢,假设编辑框为IDC_EDIT1;
CString text=GetDlgItem(IDC_EDIT1);
DWORD number=atol((LPCTSTR)text);
text.Format("%o",number);//x为16进制,o为8进制
MessageBox(text);
这样,text就是你输出的字符串了
CFile file;
CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"TXT(*.*)|*.*||",this);
CString FileName;
if(dlg.DoModal()==IDOK)
{
FileName=dlg.GetPathName();
}
if(file.Open(FileName,CFile::modeRead))//fileName是你要打开的文件名
{
char * buf=new char[file.GetLength()+1];
file.Read(buf,file.GetLength());
buf[file.GetLength()]=0;
file.Close();
SetDlgItemText(IDC_EDIT,buf);//IDC_EIDT1是显示信息的Edit控件ID
delete []buf;
}
text.Format("%o",number);//x为16进制,o为8进制
当然,要将16(8)进制字符串转为10进制整数可是要多写点东西
///////////////你可以用从* char转换到 CString啊
CString text=buf;
int number=atoi(text);
text.Format("%o",b);
SetDlgItemText(IDC_EDIT1,text);
参数怎么写?
* sizes to strings in various radixes.
*/#include <stdlib.h>
#include <stdio.h>void main( void )
{
char buffer[20];
int i = 3445;
long l = -344115L;
unsigned long ul = 1234567890UL; _itoa( i, buffer, 10 );
printf( "String of integer %d (radix 10): %s\n", i, buffer );
_itoa( i, buffer, 16 );
printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
_itoa( i, buffer, 2 );
printf( "String of integer %d (radix 2): %s\n", i, buffer ); _ltoa( l, buffer, 16 );
printf( "String of long int %ld (radix 16): 0x%s\n", l,
buffer ); _ultoa( ul, buffer, 16 );
printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
buffer );
}
OutputString of integer 3445 (radix 10): 3445
String of integer 3445 (radix 16): 0xd75
String of integer 3445 (radix 2): 110101110101
String of long int -344115 (radix 16): 0xfffabfcd
String of unsigned long 1234567890 (radix 16): 0x499602d2