【发布时间】:2013-07-05 22:53:17
【问题描述】:
我已经定义了一个结构数据并将其分配给一个 char*。然而 strlen 函数的大小总是给出结果为 1 并且 cout 不显示任何内容。这是我的代码:
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;
}
输出是: 长度:1
请帮助我了解发生了什么?
【问题讨论】:
-
不要把类型系统看得太差。它对你做了什么?
-
这样做的目的是什么?您是否试图以某种方式从结构中获取字符串?请说明目标是什么,我们可以更好地帮助您实现该目标。我建议您阅读XY problem。