【发布时间】:2020-07-19 19:02:47
【问题描述】:
我从回答我之前的question 的人那里尝试了以下代码。
我的情况是我试图在这个字符串中获取值 1.2597,我的非功能性要求是使用 strtok 而不是 boost,这是许多其他编码人员在这里推荐的。
但是,我在将结果转换为可以使用 strtok 的 cstr* 时遇到问题。
我想知道如何获得 1.2597,并用strtok 回显它
string result= "CCY 1.2597 Down 0.0021(0.16%) 14:32 SGT [44]";
char *first = strtok(result, ' ');
char *second = strtok(0, ' ');
【问题讨论】:
-
strtok()采用char*,而不是std::string(不要传递std::string::c_str(),因为strtok()修改了提供的字符串)。请改用std::istringstream。 -
只需使用
std::string.find(),就像您在问题中查找字符串一样。 -
我的项目需要使用 strtok 来拆分字符串。
-
我在下面尝试了很多示例,但仍然出现错误。我如何使用 strtok 获得 1.2597 字符串 result="CCY 1.2597 Down 0.0021(0.16%) 14:32 SGT [44]";
标签: c++