问题标签 [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 投票
2 回答
2376 浏览

php - PHP:IF 语句独立工作,但不在 WHILE 循环内

问题:

假设我有 $keyword = 在搜索框中输入了一个句子,例如“大白框”

我需要做的是将其分解为单个单词,然后测试每个单词以确保 * 不会出现在前 3 个字母中。(所以, sen* 可以,但 se* 不行)。如果 * 确实出现在任何单个单词的前 3 个字母中,则“if ($keyword) ...”过程需要结束。

...代码继续...

如您所见,我每次都在回显以查看它的处理过程。

如果我去掉“if”代码,那么它会输出“largewhiteboxes”并按预期继续。

如果我将“if”代码保持原样,则仅输出“large”,并且例程结束 - 即使条件尚未满足!

如果我在 WHILE 循环之外单独运行该“if”语句,它工作得很好,对前 3 个位置的 * 响应为真,对其他所有位置响应为假......

我可能做错了什么???

0 投票
3 回答
225 浏览

php - PHP Ifelse 语句为真,不管

好的,我现在正在尝试扩展我之前在这里解决的一些代码。下面的这段代码分配了一个输入到搜索框中的短语,并尝试执行以下操作:1)清除我不想要的东西(注意:输入是预处理的,所以我现在只是省略更多,并且仍在这部分工作)。2) 使用空格作为分隔符将短语分成单独的单词 3) 检查提取的每个单独单词以查看前 3 个字符中是否存在 *,如果存在,则中止该过程 4) 检查单词“and”或“或”被使用——如果是这样,不加修改地应用它们——如果不是,那么在短语中插入一个“和”。(如果用户没有自己指定,最终会自动将短语转换为“and”短语)。5) 在整个过程中,

问题:

一切正常,除了某些原因 ELSEIF 语句总是正确的?!无论我做什么,都会插入一个额外的“和”,无论上面的 if 语句是否为真。我已经验证了最初的 if 语句确实有效,它检测是否存在“和”或“或”并相应地应用它......但随后它继续处理 ELSEIF !我什至尝试过:

但最后,不管怎样,最终的短语都会以'and and's 或'or and's 结尾。

(注意:我意识到有比 preg_replace 更好的选择,但我会在其他时间研究 - 所以对于这个问题,我只是想解决 ELSEIF 困境,谢谢)


APPENDING MODS 基于响应...

所以,我将代码更改为...

但结果仍然不正确。例如:

“white football helmut”确实变成了“white and football and helmut”,然而……“white and football and helmut”变成了“white and and football and and helmut”。

如果if为真,我只是不明白ifelse如何处理?

注意:为了验证 IF 部分是否正常工作,我在该语句中放置了一个 x:

而“white and football and helmut”的结果是“white xand and football xand and helmut”。此外,“white and football helmut”(没有 2nd and)导致“white xand and football and helmut”。!!因此, IF 语句正在按预期处理 - 而不是 ELSEIF !

0 投票
3 回答
841 浏览

c - strtok 和 strcpy 错误

我曾经strtok拆分一个字符串。

[更新]我在下面的新版本中使用了您的评论和答案,但在 atm 中不起作用

printf("tmp[idx] ...打印正确。

但是在我运行该方法之后,我主要是:

数组split_url为空。

编译器和 gdb 都很好。

有人有想法吗?

0 投票
2 回答
121 浏览

c - 解析文档

我需要用 C 语言解析一个文档。我正要使用 strtok 函数,但我不知道它是否是最好的方法,或者只是一个令牌系统就足够了(搜索 \n、空格等)。

文档每一行的结构是:element \n element "x"。

谢谢 :-)

0 投票
2 回答
1036 浏览

c - C 程序从不从 strtok() 函数返回的问题

我正在完成一项大学作业,我一直在思考一个奇怪的问题,我的程序调用strtok并且永远不会返回。

我的代码如下所示:

我在网上查了一堆网站,但我看不出我使用的方式有什么问题,strtok我无法确定为什么我的代码会卡在线上lineTokenPtr = strtok(data, "\n");

任何人都可以帮我解释一下吗?

(如果有任何区别,请使用 OSX 和 Xcode)

0 投票
3 回答
1489 浏览

c - 在 c 中使用标记化

我正在尝试标记一条线并将其放入二维数组中,到目前为止我已经想出了这个,但我觉得我还很遥远:

0 投票
3 回答
862 浏览

c - strtok 字符串溢出问题

我有一个数据文件:

以及以下代码对其进行标记:

问题是,一旦打印了跟在较长字符串后面的字符串,较长字符串中的数据就会在较短字符串的末尾打印出来。我假设这与字符串终止有关?

有人看到我在这里做错了什么吗?

0 投票
2 回答
3130 浏览

c - strtok 和分段错误的问题

我有两个辅助函数来分解十进制价格格式的字符串,即。“23.00”、“2.30”

考虑一下:

现在,当我运行以下命令时,会出现分段错误:

但是,当我单独运行它们而没有一个跟随另一个时,它们工作正常。我在这里想念什么?我是否必须对 strtok 进行某种重置?

我的解决方案:

根据我从下面选择的答案中获得的有关 strtok 的知识,我更改了辅助函数的实现,以便它们首先复制传入的字符串,从而屏蔽原始字符串并防止出现此问题:

0 投票
4 回答
29091 浏览

c - 为什么 strtok() 被认为是不安全的?

我需要注意哪些strtok不安全的功能(就缓冲区溢出而言)?

对我来说有点奇怪的是strtok_sVisual C++ 中的(这是“安全的”)有一个额外的“上下文”参数,但它看起来在其他方面是相同的......是相同的,还是实际上不同?

0 投票
3 回答
1370 浏览

c++ - 如何使用字符串 argumnet 而不是字符数组来使用 strtok()?

可能重复:
使用带有字符串参数的 strtok(而不是 char*)?

使用时strtok()我执行以下操作

我如何使用字符串而不是字符数组char str[300];

有没有办法用它变成这样,string str; while(infile) { infile.getline(str,300); char* token=strtok(str," ");