我正在C++中进行作业,但我不允许包含<sstream>
。
我试图来标记一个char *这样的:当我尝试将char *分隔为令牌时出现分段错误
char *p;
p = strtok(New_string, " ");
while (p) {
p = strtok(NULL, " ");
std::cout << strlen(p);
}
我的问题是std::cout << strlen(p);
导致赛格故障。 有人可以提供替代strtok()或访问每次strlen(p)的解决方案吗?
为什么在调用'strlen'之前检查'strtok'返回的NULL指针呢?到达字符串末尾时,strtok'返回NULL,据我所知,您应该检查 – mathematician1975
是的,它是空终止的。 – pkenobi23
而'New_string'是.......? –