我在初始化每个代码中的结构时遇到了困难。这甚至可以完成,或者我真的需要memcpy(urg)5个字符的字符串到结构中吗?结构初始化失败
struct MyStruct
{
char x[5];
};
main(...)
{
const char* MyString = {"mnopq"}; // I understand this is a non-NULL terminated string -
// it's OK, I just want five character fields in an array
struct MyStruct = {MyString}; // <---This gives warnings below
}
警告:缺少初始化左右括号
警告:初始化将指针整数,未投
如果我换初始化,如:
struct MyStruct = {{MyString}};
第一次警告消失。第二个警告没有。并且,因此,该结构不是按照希望初始化的。
在此先感谢您的帮助。
糟糕...它是const char * MyString =“mnopq”; (没有大括号) – user654077 2011-03-10 18:28:26
@ user654077:对不起,但你的问题和你的评论相互矛盾。如果它应该是'const char * MyString =“mnopq”',那么它*是一个以空字符结尾的字符串。然而,在代码评论中你说它不是。 ???决定你想要什么并编辑你的问题。在这个时候它是一团糟。 – AnT 2011-03-10 18:37:39