C,将char分配给char数组:无效转换

时间:2015-03-29 19:51:40

标签: c

char buffA[100];
char plan[3][1];
char value[5];

strcpy(value, &buffA[2]);
strcat(value, &buffA[3]);
plan[0][0] = value;

error: invalid conversion from 'char*' to 'char'

这是如何正确完成的?香港专业教育学院也试过char *value,但这会引发精确丢失警告

2 个答案:

答案 0 :(得分:2)

plan[0][0]char,但value是5 char的数组。您无法将char数组分配给单char

使用strncpymemcpy功能复制char数组或尝试此操作:

// this will only copy 1 character, not whole array.
plan[0][0] = value[0]; 

答案 1 :(得分:0)

如上所述,您正在尝试将数组复制到单个字符,但我不认为这是您唯一的问题, 我不知道你试图实现什么,但除非你确定数组中有\ 0,否则你的缓冲区会溢出, 即使你确定我建议使用strncmp和strncat等安全功能。

如果你想要,你可以解释你想要做什么,我很乐意提供帮助。

祝你好运