gpt4 book ai didi

c - C 中的 strtok 和 (null)

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

我正在尝试使用 strtok 用逗号分隔字符串。该行看起来像这样:

A:K149, A:N171, A:T172

我正在使用以下代码。

 pch=strtok(line,",");
printf("%s\n",pch);

while(pch!=NULL){
pch=strtok(NULL,", ");
printf("%s\n",pch);
}

但是打印出来的是:

A:K149
A:N171
A:T172

(null)

我如何摆脱多余的行和末尾的 (null)?

最佳答案

这是因为您在测试它是否为空之前打印该行。

基本上,在循环中测试它是否为空,然后更新值(现在可能为空),然后打印它。所以最后它打印 null,测试并看到 null,然后退出 while 循环。

试试这个

pch=strtok(line,",");

while(pch!=NULL){
printf("%s\n",pch);
pch=strtok(NULL,", ");
}

关于c - C 中的 strtok 和 (null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17402978/

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