typedef struct tagMYTREENODE{
HTREEITEM hItem;
BOOL IsGroup;
int level;
int status;
int integral;
int order;
int sex;
int type;
int headimage;
TCHAR title[50];
TCHAR id[33];
TCHAR uname[50];
TCHAR eid[33];
TCHAR userid[33];
TCHAR mobile[21];
TCHAR groupname[50];
TCHAR enterprises[50];
TCHAR self_uw[100];
} MYTREENODE,*PMYTREENODE;PMYTREENODE pdata;
CString level;
level.Format("%s",pdata->integral);
报错是:error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
错哪了? 大虾们
HTREEITEM hItem;
BOOL IsGroup;
int level;
int status;
int integral;
int order;
int sex;
int type;
int headimage;
TCHAR title[50];
TCHAR id[33];
TCHAR uname[50];
TCHAR eid[33];
TCHAR userid[33];
TCHAR mobile[21];
TCHAR groupname[50];
TCHAR enterprises[50];
TCHAR self_uw[100];
} MYTREENODE,*PMYTREENODE;PMYTREENODE pdata;
CString level;
level.Format("%s",pdata->integral);
报错是:error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
错哪了? 大虾们
改为
level.Format("%i",pdata->integral);
这样呢?
CString level;
level.Format("%d",pdata->integral);
依旧报错 :
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'format 的第一个参数是指第二个参数的输出格式? 我一直认为是要转换成的类型的数据的输出格式呢
改为:
level.Format(L"%d",pdata->integral);
pdata要先初始化吧。
不一定要先初始化,系统会帮你初始化为一个随机值,这个没关系,最多是一个warning,不会导致编译错误...
指针是野指针 指到那系统也不知道的
这样试试typedef struct tagMYTREENODE{
HTREEITEM hItem;
BOOL IsGroup;
int level;
int status;
int integral;
int order;
int sex;
int type;
int headimage;
TCHAR title[50];
TCHAR id[33];
TCHAR uname[50];
TCHAR eid[33];
TCHAR userid[33];
TCHAR mobile[21];
TCHAR groupname[50];
TCHAR enterprises[50];
TCHAR self_uw[100];
} MYTREENODE,*PMYTREENODE;
MYTREENODE data;
PMYTREENODE pdata = &data;
pdata->integral = 5;
CString level;
level.Format("%i",pdata->integral);
他报的是这个错呀:
error C2664: 'void ATL::CStringT <BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
那应该是这个了
level.Format(L("%d"),pdata->integral);
有何区别啊,我一直都是用“L”
L就是WCHAR