我正在C中进行我的第一次练习,并希望做到以下几点:
与我的C代码一起运行的程序以下列格式读取输入(我不能改变它):
{" inputname":0}
我的C代码应该从命令行输入中读取字符串。如果我输入上面引用的确切形式,它可以正常工作。但是,在命令行中放置大括号是令人讨厌的(例如,我的程序不会让我写它们)。
所以我想将输入拼凑在一起,并在代码中自动将括号括起来,所以命令窗口的输入只需要" inputname":0 而不是 {"输入名称":0} 。
当我尝试将三个字符串 {,输入和} 放在一起时,我得到了
错误:从类型中指定类型'char [200]'时出现不兼容的类型 'char *'
一旦我添加第二个护腕。
那我该怎么办?
答案 0 :(得分:1)
注意:阅读错误消息后,所有这些都是猜测。
错误是说你基本上不能分配给一个数组。例如,如果您有例如。
char string[200];
然后你不能做
string = "Foobar";
或
const char *open_brace = "{";
string = open_brace;
如果要设置数组,则必须使用strcpy
复制:
strcpy(string, "Foobar");
或
strcpy(string, open_brace);
如果您想在字符串中附加内容,则使用strcat
连接另一个字符串:
const char close_brace = "}";
strcat(string, close_brace);
上面将字符串"}"
附加到数组string
的末尾。
但要小心,所以你不要溢出数组并写出界限。