- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在并行解析 3 个用特定分隔符分隔的值。
token1 = strtok_s(str1, separator, &nextToken1);
token2 = strtok_s(str2, separator, &nextToken2);
token3 = strtok_s(str3, separator, &nextToken3);
while ((token1 != NULL) && (token2 != NULL) && (token3 != NULL))
{
//...
token1 = strtok_s(NULL, separator, &nextToken1);
token2 = strtok_s(NULL, separator, &nextToken2);
token3 = strtok_s(NULL, separator, &nextToken3);
}
假设“-”是我的分隔符。行为是没有连续分隔符的字符串:
1-2-3-45
将有效地产生以下每个部分:
1
2
3
45
但是,带有两个连续分隔符的字符串:
1-2--3-45
不会产生长度为 0 的字符串,该字符串将被跳过,因此结果为:
1
2
3
45
不是
1
2
3
45
什么解决方法或策略更适合获取所有实际部分,包括 0 长度部分?如果可能,我想避免重新实现 strtok_s。
最佳答案
不幸的是,strtok()
会忽略空标记。即使你说你希望避免这样做,也没有别的办法,只能自己解析它,例如使用 strchr()
找到下一个分隔符,然后将 token 复制到一个临时变量加工。这样您就可以随心所欲地处理空 token 。
关于c - 带有连续分隔符的 strtok_s 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977836/
我不明白为什么我的函数会收到以下消息(在 Visual Studio 2015 中)。 0xC0000005: Access violation reading location 0x0000002C
我试图在点上拆分我的实际 key ,然后在点上拆分后提取所有字段。 我的 key 看起来像这样 - t26.example.1136580077.colox 下面是我印象中的代码,应该没问题。但不知何
我已经使用 C++ 多年了,所以请多多包涵。 我是一名 C# 开发人员,但这个 C++ 控制台应用程序坏了,我现在正在管理它。我目前正在使用 VS2010 对其进行调试。 由于保密和代码量大,我不能贴
我正在使用 strtok_s 根据用户输入从 C 字符串中提取一个值。但是,我需要能够多次调用此函数。目前,当我这样做时,它在通过 strtok_s 时遇到了问题。我相信,因为它仍然指向不同的位置,而
传递给它的每个参数到底是什么,它返回什么? 它到底比普通的 strtok 好多少? 请给我最简单和最基本的解释。 最佳答案 这在 Appendix K (bounds checking interfa
15 年后我又回到了 C++ 领域……我只是不记得为什么我们需要指针的地址。就像在这个声明中: char *next_token = NULL; char *pszMozilla = strtok_s
我正在并行解析 3 个用特定分隔符分隔的值。 token1 = strtok_s(str1, separator, &nextToken1); token2 = strtok_s(str2, sepa
我正在尝试使用 strtok_s 函数标记嵌套循环中的两个字符串,但是我无法解析由 delimeter(;) 分隔的完整字符串,其代码是 char* string1Bigrams = "he;el;l
我正在尝试使用 strtok_s() 函数获取一个标记化的数组,但我还想包含标记化数组的分隔符。如果它是斜杠“/”,我希望数组在任何使用斜杠“/”字符创建的标记处都具有斜杠。 我编写了一个函数,它接受
我正在尝试根据此示例通过指定的分隔符拆分字符串:http://msdn.microsoft.com/en-us/library/ftsafwz3(v=VS.90).aspx 我的代码在 Visual
我是 C++ 的初学者,我正在尝试通过使用带有 strtok_s 的标记将文本从文本文件放入 vector 中。 我只能将一个文本推回并显示在 vector 中,我确信我的编码存在一些问题。 代码如下
似乎已经修改了我想拆分指定标记的原始字符串。 如果无法从内存中复制,它如何返回一个子字符串? 我也在寻找接受 const char* 或不修改原始字符串的替代方案。 或者仅const_cast 字符串
(大家好)我的strtok_s有一些问题。我写了这段代码(x64)。 #include #include #include BOOL TestMD5(CONST
strtok_s函数在vc8中有,vc7中没有。那么,在 vc7 中执行相当于 strtok_s 的函数(或代码)是什么? 最佳答案 看看this MSDN page . 据我所知,安全性增强 a)
我将 strtok_s 与分配的字符串一起使用。 上面的代码处理异常: char *string1 = NULL; string1 = (char*)LocalAlloc(LPTR, 100 * si
我正在尝试使用 C11 函数 strtok_s ,应该在 中定义,但是当我尝试使用它时,clang 给我一个链接错误。编译这个程序: #include int main() { char
我正在尝试从由空格 ("") 分隔的字符串中获取 token 。但是当字符串是 char * 类型时,下面的代码会导致应用程序崩溃。 #include #include int main(){ c
我有以下程序: #include #include #include int main(int argc, char *argv[]) { char *tp = NULL, *cp = N
我在这里的搜索得到了很多结果,但没有一个非常适合我,以便我可以找到问题的解决方案。 我正在使用 Visual Studio 2013 用 C 语言创建 Mathcad UserEFI DLL。我不想使
我是一名优秀的程序员,十分优秀!