inet_addr”: 不能将参数 1 从“CString”转换为“const char *”1>

[cpp] view plaincopy

  1. CString ipaddress;
  2. ipaddress = "192.168.39.207";
  3. DWORD m_dwPuIp;
  4. m_dwPuIp = inet_addr(ipaddress);

有一个错误:
“inet_addr”: 不能将参数 1 从“CString”转换为“const char *”1>没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符.

网上有说用LPCTSTR进行强制转换

[cpp] view plaincopy

  1. m_dwPuIp = inet_addr((LPCTSTR)ipaddress);

但还是不行。

解决办法:
把项目字符集的  <使用 Unicode 字符集>  改成 <使用多字节字符集> 就可以了。

时间: 2024-10-12 21:37:32

inet_addr”: 不能将参数 1 从“CString”转换为“const char *”1>的相关文章

CString转换为const char*

CString str=_T("这是我的测试程序.");// 先得到要转换为字符的长度const size_t strsize=(str.GetLength()+1)*2; // 宽字符的长度;char * pstr= new char[strsize]; //分配空间;size_t sz=0;wcstombs_s(&sz,pstr,strsize,str,_TRUNCATE); int n=atoi(const char*)pstr); // 字符串已经由原来的CString

error C2664: “FILE *fopen(const char *,const char *)”: 无法将参数 1 从“LPCTSTR”转换为“const char *”

遇到这个问题,请打开本项目的Properties(属性)-------> Configuration Properties(配置属性)-------->General(常规)------->Character Set(字符集)  把Use Unicode Character Set(使用Unicode字符集) 改成使用  Use Multi-byte Character  Set (使用多字节字符集).最后别忘了  应用------>确定.

【QT】QString类型转换为const char*

Qstring str = "helloworld"; char *s; QByteArray ba = str.toLatin1(); s = ba.data(); toLatin1.toLocal8Bit都是QString转QByteArray的方法,Latin1代表ASCII,Local8Bit代表unicode. const char* 指向字符常量的指针 const char * ss= "xxxxxx";    // 这个表示的是指针指向的内容不可修改c

VS2017出现不存在从&quot;CString&quot;到&quot;const char*&quot;的适当转换函数

出现不存在从CStrign到const char*的转换,可以将项目属性的字符集设置从"使用Unicode字符集“转换为”使用多字字符集“. 点击”项目“----“属性”----“配置属性”----”常规“----”字符集“更改即可! 原文地址:https://www.cnblogs.com/ming-4/p/11897888.html

VS2010 mfc CString转const char *

很简单,一句话: 1 CFileDialog fileDlg(TRUE,NULL,NULL,0,szFilter,this);//这是一个文件打开对话框 2 const char* filename=(char *)(LPCTSTR)fileDlg.GetPathName();

CString 转换为 wchar_t *

1.将CString转换为const char* CString str = _T("231222"); std::string strDp = CStringA(str);  //或: std::string strDp = CT2A(str, CP_ACP); 2.将const char*转换为wchar_t*类型 size_t len = strDp.length() + 1; size_t converted = 0; wchar_t * WStr = (wchar_t*)ma

CString 转化成 const char* 类型

写程序的时候经常会遇到无法将“CString”转换为“const char *”的错误,这里我找到了一个解决办法,与大家分享下: CString cs = _T("123123"); const size_t strSize = (cs.GetLength() + 1) * 2; char *p = new char[strSize]; size_t sz = 0; wcstombs_s(&sz, p, strSize, cs, _TRUNCATE); int n = atoi

在UNICODE编码格式下, CString 转换为 char* :

//转换示例: CString cstring= "hello,bro "; char* pcharbuf=new char; int iSize = WideCharToMultiByte(CP_ACP, 0, cstring, -1, NULL, 0, NULL, NULL); WideCharToMultiByte(CP_ACP, 0, cstring, -1, pcharbuf, iSize, 0, 0); //WideCharToMultiByte()函数原型如下: int

[转]不能将参数1从“const char []”转换为“LPCTSTR

今天在使用vs2008+MFC时候,使用editControl的replacesel(“”)发生报错.如下::不能将参数1从“const char []”转换为“LPCTSTR” 其解决方案就是, 在项目属性里面找到项目默认值下面的字符集, 将其换为:使用多字节字符集就ok了.原因: typedef   LPCTSTR    LPTSTR ; #ifndef   _UNICODE    typedef   TCHAR   char;    #else    typedef   TCHAR   w