我真的是 C 的新手,目前我正在尝试从包含名称列表的文件中读取,并将其导入到数组中。当前数组是 char[][] 类型,因为它将包含更多信息而不仅仅是名称,但本质上我希望 team[0][0] 成为我读入的第一个名称,team[1][0] 到是第二个,等等。我很确定名称的实际导入是正确的,但是我在存储这些数组时遇到了问题。
FILE *teamfile;
teamfile = fopen(file, "r");
char line[MAXLENGTH+1];
int i = 0;
while( fgets(line, sizeof line, teamfile) != NULL )
{
trim_line(line);
strcpy(&team[i][NAME],line);
i++;
}
fclose(teamfile);
从 main 函数调用它为teams = teamlist(argv[1], team);
但是当我尝试从程序中的其他地方引用数组时,例如printf(&team[0][0])
它输出似乎是一个块中的所有名称......我做错了什么?
编辑:
static void trim_line(char line[])
{
int i = 0;
// LOOP UNTIL WE REACH THE END OF line
while(line[i] != '\0')
{
// CHECK FOR CARRIAGE-RETURN OR NEWLINE
if( line[i] == '\r' || line[i] == '\n' )
{
line[i] = '\0'; // overwrite with nul-byte
break; // leave the loop early
}
i = i+1; // iterate through character array
}
}
感谢你目前的帮助!:D