c - 我需要知道我是否正确使用 getline

标签 c getline

我在 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/

相关文章:

c++ - Unicode 支持需要 wchar_t 吗?

c - 如何在宾果游戏中避免 TLE?

如果所需输入存在,C 仅从标准输入读取

c++ - 在 GCC 4.7.2 和 Clang 3.2 中显然缺少 getline() 的重载,将 RRef 流式传输

c++ - 使用getline连续输入行到txt文档的结尾C++

c - "#include <asm/io.h>"导致 "error: asm/io.h: No such file or directory"

在 C 中将 boolean 数组的元素更改为 false

c - 如何在 Mac 中使用 bash 终端使用 c 程序获取修改后的环境变量

c++ - 使用 getline 在运行时获取与文件输入相关的错误

c - 通过分隔符将 getline 解析为缓冲区?