【发布时间】:2014-09-23 03:39:18
【问题描述】:
我知道以下警告是我的错,但我需要一些帮助来弄清楚我做错了什么。我得到:“从不兼容的指针类型传递'getline'的参数1”,参数2也是一样的。
这是我对 getline() 的调用:
getline(&line.buf, &maxSz, stdin)
以下是相关的参数声明:
line_t line;
int maxSz = 1000;
和
typedef struct line_t {
char buf[1000];
int lineLength;
int wordCount;
int index;
} line_t;
我认为问题在于我正在获取本应为指针的地址,但在测试了几个不同的 getline 调用后,我还没有找到解决方案。我绝对认为参数 2 是 maxSz 不是指针的事实。
while (-1 != (line.lineLength = getline((char**) &line.buf, &maxSz, stdin))) {
printf("buf is %s\n",line.buf);
为什么上面给了我一个无限循环?
【问题讨论】:
标签: c pointers compiler-warnings getline