gpt4 book ai didi

c - 如何使用 fgets 中的一行来制作单词数组?

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

我的输入来自一个包含多行文本的文件。在使用 fgets() 获得一行后,我如何创建一个包含该行单词的数组,然后我可以遍历它? IE。从“pink floyd”到{“pink”,“floyd”}。

int main() {
char line[500];
while(fgets(line, sizeof(line), stdin) != NULL) {
...
}
return 0;
}

最佳答案

您可以使用 strtok() 函数从一行文本中提取单词。参见 How does the strtok function in C work?http://www.cplusplus.com/reference/cstring/strtok/ .

strtok()函数会修改line[]的内容,但是我想这种用法没问题,因为你只是在那里写了一行输入你很快就会在上面写下另一行输入。

您必须分配一个单独的数组来保存指向各个单词的指针。如果你打算在读取下一行输入后继续使用这个数组,你会需要为 strtok() 返回的字符串制作新的副本,因为它返回的是是指向 char line[500] 的指针,下一行输入将覆盖它们。

关于c - 如何使用 fgets 中的一行来制作单词数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25965018/

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