gpt4 book ai didi

c - strtok 的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:47 25 4
gpt4 key购买 nike

大家好,我遇到了 strtok 的段错误,只需要一点帮助!

char s[1024];
char *token[2];
while(fgets(s, sizeof(s), fp) != NULL) // Read line from file fp until end
{
token[0] = strtok(s, "\t\n");
token[1] = strtok(NULL, "\t\n");
token[2] = strtok(NULL, "\t\n");
printf("%d:%s:%d", atoi(token[0]), token[1], atoi(token[2]));
}

但是在循环的第一个逾越节之后我遇到了段错误。输入文件内容如下:

102910319    code    mark
.
.
.
104981851 code mark

但是 while 循环只正确打印第一行,而在第二行打印错误。

有什么想法吗?

谢谢。

最佳答案

数组索引问题。

您应该如下声明指针数组,

char *token[3];

关于c - strtok 的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15583069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com