gpt4 book ai didi

c++ - 多次使用 strtok_s

转载 作者:太空宇宙 更新时间:2023-11-04 06:56:33 24 4
gpt4 key购买 nike

我正在使用 strtok_s 根据用户输入从 C 字符串中提取一个值。但是,我需要能够多次调用此函数。目前,当我这样做时,它在通过 strtok_s 时遇到了问题。我相信,因为它仍然指向不同的位置,而不是重新开始。 ListOfCoeffs 是我的 C 字符串,它只是一个具有 double 的 C 字符串列表。 Degree 是从用户传递到函数中的 int 值。有什么方法可以“重置”strtok,这样我就可以在不关闭程序的情况下多次使用这个功能吗?抱歉使用 strtok_s 的糟糕风格,我根本不熟悉它。

char *  pch;
double coeffValue;
char * context;



pch = strtok_s(listOfCoeffs, " ", &context);

if (degree == 0)
{
// DO NOTHING
}

else
{
for (int i = 0; i < degree; i++)
{
pch = strtok_s(NULL, " ", &context);
}
}


coeffValue = atof(pch);
return coeffValue;

最佳答案

strtok 函数系列 destructively modify输入字符串,同时对其进行标记。如果您想从头开始,则需要在将字符串传递给 strtok 之前复制该字符串。

关于c++ - 多次使用 strtok_s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665443/

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