问题标签 [strtok]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
6557 浏览

c - C 的 strtok() 和只读字符串文字

char *strtok(c​​har *s1, const char *s2)

对该函数的重复调用将字符串 s1 分解为“标记”——即字符串被分解为子字符串,每个子字符串以 '\0' 结尾,其中 '\0' 替换字符串 s2 中包含的任何字符。第一次调用使用要标记为 s1 的字符串;随后的调用使用 NULL 作为第一个参数。返回指向当前标记开头的指针;如果没有更多标记,则返回 NULL。

你好,

我刚才一直在尝试使用strtok,发现如果我传入一个char*into s1,我会得到一个分段错误。如果我通过 a char[]strtok工作正常。

为什么是这样?

我四处搜索,原因似乎是关于如何char*只读和char[]可写的。更彻底的解释将不胜感激。

0 投票
3 回答
2226 浏览

c++ - strtok 并替换 C++ 中的子字符串

如果我有一个字符串“12 23 34 56”

将其更改为“\x12 \x23 \x34 \x56”的最简单方法是什么?

0 投票
13 回答
139340 浏览

c++ - 将 strtok 与 std::string 一起使用

我有一个要标记的字符串。但是 Cstrtok()函数要求我的字符串是char*. 我怎么能简单地做到这一点?

我试过了:

失败是因为它将它变成 a const char*,而不是 achar*

0 投票
7 回答
9633 浏览

c - 开发了一个 strtok 替代方案

我已经开发了自己的 strtok 版本。只是为了练习使用指针。

任何人都可以看到任何限制,或者无论如何我可以改进。

0 投票
3 回答
1197 浏览

c - C 中是否有与 Perls 的 split() 函数等效的函数?

我正在尝试使用小数点作为分隔符在 C 程序中拆分实数,例如 1234.56 产生

(int) whole_num = 1234 (int) 分数 = 56

有什么想法我可以如何去做吗?自从我和 C 混在一起已经很久了,明白吗?:)

0 投票
4 回答
1103 浏览

c - strtok 和函数调用

我有这种非常奇怪的行为:

在下面的代码中:如果我评论对 MyLogger 的调用,那么一切正常,即我得到了 sTempNr 标记并打印了 4 个标记。但是,如果我取消注释对 MyLogger 进行日志记录的调用,那么只会发生一次迭代,并且在具有如下类似代码的其他测试类中,会发生 4 次以上的循环,并将冗余信息发送到 MyLogger。

因此,我使用 Purify 工具检查了 MyLogger 中是否存在一些内存问题。找不到。MyLogger 正在使用 vaargs 来提取 args 和 vfprintf 调用来打印。

我不确定如何进一步调试此代码。任何指导将不胜感激!。

0 投票
4 回答
3194 浏览

c - C - strtok and strcmp

I am having a bit of trouble using strtok with strcmp.

If I give it the following header

I get this output:

As you can see, strtok() parses the string properly, but the values c1, and c2 dont seem to make sense (c1 should return 0, but instead it returns 1).

Whats going on here?

0 投票
4 回答
21054 浏览

c - strtok 和内存泄漏

我使用 strtok() 编写了一个简单的 url 解析器。这是代码

如您所见,我经常使用 strtok() 以便可以“切片”网址。我不需要支持不同于 http 或 https 的 url,所以它的完成方式解决了我的所有问题。我担心的是(这是在嵌入式设备上运行的) - 我在浪费内存吗?当我写类似的东西时

然后稍后调用

我的第一个指针 ret->protocol 是否保留在内存中?我想也许我应该将第一次调用设置为 tmp 指针,调用 strtok 将 ret->protocol 指向字符串的右侧部分(第二次调用),然后再调用 free(tmp)。

使用 strtok 的最佳方法应该是什么?

0 投票
3 回答
12662 浏览

c - 在 C 的嵌套循环中使用 strtok()?

我正在尝试strtok()在嵌套循环中使用,但这并没有给我想要的结果,可能是因为它们使用的是相同的内存位置。我的代码形式为:-

0 投票
10 回答
8190 浏览

c++ - C++ 如何将字符串转换为 char*

我需要将字符串转换为 char * 以在 strtok_s 中使用,但一直无法弄清楚。c_str() 转换为不兼容的 const char *。

另外,如果有人可以向我解释为什么第二个 strtok_s 函数(在循环内)是必要的,那将是一个很大的帮助。为什么我需要显式推进令牌,而不是例如它所在的 while 循环,它隐式地连续获取文件的每一行。

相关问题