我在 C 中使用 getline() 函数,当我多次使用它时,它总是给我带来段错误,就像在数组中一样。这是我的写法:
temp = (char *)malloc(sizeof(char)*clen);
read = getline(&temp, &clen, stdin);
tn = strtok(temp, ",");
strcpy(travel[tripnum].name, tn);
tn = strtok(NULL, ",");
travel[tripnum].country = tn;
free((void *) temp);
如果我声明不正确,请告诉我
最佳答案
如this getline tutorial中所示您需要分配(clen + 1)。终端 NULL 需要额外添加一个。
关于c - 我需要知道我是否正确使用 getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5469202/