VS2008 C++中 inet_addr()函数用法。 inet_addr: 不能将参数 1 从“CString”转换为“const char *”
有如下定义CEditm_Address;CStringaddress;intIpAddress;想取出编辑框中输入的ip地址并进行分析m_Address.GetWindo...
有如下定义
CEdit m_Address;
CString address;
int IpAddress;
想取出编辑框中输入的ip地址并进行分析
m_Address.GetWindowTextW(address);
IpAddress=inet_addr(address);
可是上一句出错了,说error C2664: “inet_addr”: 不能将参数 1 从“CString”转换为“const char *”
IpAddress=inet_addr((LPCTSTR)address);
还是不行
“inet_addr”: 不能将参数 1 从“LPCTSTR”转换为“const char *” 展开
CEdit m_Address;
CString address;
int IpAddress;
想取出编辑框中输入的ip地址并进行分析
m_Address.GetWindowTextW(address);
IpAddress=inet_addr(address);
可是上一句出错了,说error C2664: “inet_addr”: 不能将参数 1 从“CString”转换为“const char *”
IpAddress=inet_addr((LPCTSTR)address);
还是不行
“inet_addr”: 不能将参数 1 从“LPCTSTR”转换为“const char *” 展开
3个回答
展开全部
1、string 转 CString
CString.format("%s", string.c_str());
2、char * 转 CString
CString.format("%s", char*);
3、char * 转 string
string s(char *);
4、string 转 char *
char *p = string.c_str();
5、CString 转 string
string s(CString.GetBuffer(CString.GetLength()));
6、CString 转 char *
charpoint=strtest.GetBuffer(strtest.GetLength());
不建议用(LPCTSTR)进行强制类型转化,这样strtest大小发生变化时会出现错误。
7、CString 转 char[100]
char a[100];
CString str("aaaaaa");
strncpy(a,(LPCTSTR)str,sizeof(a));
CString.format("%s", string.c_str());
2、char * 转 CString
CString.format("%s", char*);
3、char * 转 string
string s(char *);
4、string 转 char *
char *p = string.c_str();
5、CString 转 string
string s(CString.GetBuffer(CString.GetLength()));
6、CString 转 char *
charpoint=strtest.GetBuffer(strtest.GetLength());
不建议用(LPCTSTR)进行强制类型转化,这样strtest大小发生变化时会出现错误。
7、CString 转 char[100]
char a[100];
CString str("aaaaaa");
strncpy(a,(LPCTSTR)str,sizeof(a));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询