指针与数组赋值有关问题//.
指针与数组赋值问题//................typedef struct STU{TCHAR id[16]}ID_STUTCHAR Info[100] 10gh
指针与数组赋值问题//................
typedef struct STU{
TCHAR id[16];
}ID_STU;
TCHAR Info[100] = "10ghi";
TCHAR converter_a[50];
obj.id = wtos(Info,2,converter_a);
error C2440: “=” : 无法从“TCHAR *”转换为“TCHAR [6]”
没有转换为数组类型,但有转换为数组的引用或指针
TCHAR* wtos(TCHAR* wc,int wlen,TCHAR* m_char)
{
memcpy(m_char,wc,wlen* sizeof(TCHAR));
m_char[wlen* sizeof(TCHAR)] = '\0';
return m_char;
}
[解决办法]反过来是可以的,原因在于数组是指针常量,无法赋值,你可以用wstrcpy的方式。
[解决办法]obj.id = wtos(Info,2,converter_a);
不要用=,用字符串拷贝函数