我有一个“xxx/yyy”格式的值,我使用以下方法提取“/”之前和之后的两个值
char * ptr = "xxx/yyy";
part2 = strchr( ptr, '/');
if ( part2 != NULL)
part2++;
part1 = strtok(ptr,"/");
结果:第 1 部分 = xxx 第 2 部分 = yyy
这工作正常,但是当我有像“/yyy”这样的 ptr 值时,我的结果是
***part1 = yyy !!!!!! IT should be an empty char!!!!***
part2 = yyy
提前致谢
最佳答案
strtok 函数会跳过您在第二个字符串中传递的所有字符。因此,您在第一次调用时会得到第一个不包含这些字符的字符串。当您需要不同的行为时,您应该考虑实现 my_strtok()
。
关于在c中的特殊运算符之前/之后复制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21988776/