我正在开发一个用户输入全名的程序,我使用gets来检索输入的字符串,我需要将该字符串复制到名为name [11]的二维数组中的第i个元素中[41]。我需要使用strcpy来存储它。我被困住了,对此的帮助会很棒!
答案 0 :(得分:0)
鉴于您的字符串数组是按照指示创建的:
char name[11][41];
你可以使用它将最多40个字符复制到 ith 41字符数组中,保留最后空格以进行空终止:
//for i from 0 to 10 this will work
strncpy(name[i], "some string", 40);
name[i][40] = 0;//guarantee null termination in case source string is longer than array
答案 1 :(得分:0)
It would be better that there shouldn't be hard code in the code, so you can use defines. It could be helpful to control string length and avoid from segmentation fault problem.
#define MAX_LENGTH 41
#define MAX_INPUT 11
主要:
char name[MAX_INPUT][MAX_LENGTH];
char input_name[MAX_LENGTH];
//after filling the input_name
strncpy (name [i],input_name,MAX_LENGTH);
答案 2 :(得分:-1)
你可以使用类似的东西
strcpy(&name[i][0],n);