首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同过程中的相同数组

不同过程中的相同数组
EN

Stack Overflow用户
提问于 2012-09-15 15:07:22
回答 1查看 70关注 0票数 1

我对C语言非常陌生,目前我正在尝试从一个包含名称列表的文件中读入,并将其导入到一个数组中。当前数组的类型是char,因为它将包含比名称更多的信息,但本质上我希望team是我读取的第一个名称,team1是第二个名称,依此类推。我非常确定名称的实际导入是正确的,但我在存储这些数组时遇到了问题。

代码语言:javascript
复制
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);

它是作为teams = teamlist(argv[1], team);从主函数调用的,但是当我试图从程序中的其他地方引用数组时,例如printf(&team[0][0]),它输出的似乎是一个块中的所有名称……我做错了什么?

编辑:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2012-09-15 15:27:30

如果team声明为char team[NUM_OF_TEAMS][LENGHT_OF_NAME]

则应始终为strcpy(&team[i],line);

提示:它不是C中的"string object“,而是一个char array,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12435320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档