我已经定义了一个结构数据,并将其分配给一个char *。然而,strlen函数的大小总是给出结果为1,并且cout不显示任何内容。这里是我的代码:无法理解结构为char *转换
struct data
{
int x;
int y;
};
int main()
{
data d;
d.x = 10;
d.y = 20;
char *ch = (char*)&d;
cout <<"Length:" strlen(ch) << endl;
cout << ch << endl;
}
输出是: 长度:
请帮我理解这是怎么回事?
不要严格对待类型系统。它对你做了什么? –
这是什么目的?你是否试图从结构中获得一个字符串?请解释目标是什么,我们可以更好地帮助您实现这一目标。我建议你阅读[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –