gpt4 book ai didi

c++ - strtok_s 未在此范围内声明

转载 作者:行者123 更新时间:2023-11-30 01:55:56 26 4
gpt4 key购买 nike

我试图在点上拆分我的实际 key ,然后在点上拆分后提取所有字段。

我的 key 看起来像这样 -

t26.example.1136580077.colox

下面是我印象中的代码,应该没问题。但不知何故,每当我编译这段代码时,我总是得到 -

 error: âstrtok_sâ was not declared in this scope

下面是我的代码

if(key) {
vector<string> res;
char* p;
char* totken = strtok_s(key, ".", &p);
while(totken != NULL)
{
res.push_back(totken);
totken = strtok_s(NULL, ".", &p);
}

string field1 = res[0]; // this should be t26
string field2 = res[1]; // this should be example
uint64_t field3 = atoi(res[2].c_str()); // this should be 1136580077
string field4 = res[3]; // this should be colox

cout<<field1<<" "<<field2<<" "<<field3<<" "<<field4<<endl;
}

我正在运行 Ubuntu 12.04,g++ 版本是 -

g++ (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3

知道我做错了什么吗?如果还有更好的方法,那么我也愿意接受该建议。我的印象是使用 strtok_s 会更高效并且线程安全。

最佳答案

#ifndef _MSC_VER
inline
char* strtok_s(char* s, const char* delim, char** context)
{
return strtok_r(s, delim, context);
}
#endif

关于c++ - strtok_s 未在此范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210468/

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