问题标签 [strsep]

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 投票
3 回答
63468 浏览

c - strsep() 用法及其替代方法

当我执行它时:

但是,当我将 char *slogan 更改为:

并执行相同的程序:

我的问题是,所以当我使用 strsep() 并且输入字符串没有我正在寻找的模式时, strsep() 的返回是错误的。我可以验证 strsep() 是否找不到模式的唯一方法是检查if (slow_gun == NUll).

如果我有char *slogan = "together{"然后strsep会成功返回token但返回slow_gun空白(不是null

有没有办法可以避免这种 IF 检查并依靠函数返回 substr,如果它不存在,返回NULL

0 投票
3 回答
30641 浏览

c - C中的strtok和strsep有什么区别

strtok()有人可以解释一下和之间有什么区别strsep()吗?它们的优点和缺点是什么?为什么我会选择一个而不是另一个。

0 投票
2 回答
946 浏览

c - 在解析 argv 变量时在 C 中使用 strsep 不起作用

解析 argv 变量时,我在 C 中遇到问题。这是任务:

我从命令行获得了一些参数到我的 C 程序中。其中一个看起来像“-r=20-5”。在那里我必须找到“r”。这适用于:

现在我有了“r”。但我也需要两个不同变量中的 20 和 5。这是我的想法,但它没有用。我尝试了一些东西

但是我的编译器(Xcode)会抛出一个警告(警告:从不兼容的指针类型传递'strsep'的参数1)

有谁知道(或链接)我如何解决这个问题?


解决后仍然有警告,所以我被回答发布我的整个新代码:


警告是:警告:从不兼容的指针类型传递“strsep”的参数 1

我的编译器是:在 MacOS 上使用 XCode 作为 IDE 的 gcc

0 投票
1 回答
2225 浏览

strsep - 为什么strsep段错误

如果我不使用 strdup。分配“char *bp = buf”。那么上面的程序就会出现段错误。gdb 输出如下:

程序有什么问题?

0 投票
2 回答
656 浏览

c - 按特定顺序使用带有分隔符的 strsep()?

我正在尝试使用strsep()解析文本字符串(char *),问题是分隔符必须按顺序使用例如:第一个标记由','第二个由':'......

strsep() 由字符串中的任何 sep 字符分隔。在阅读了 strsep() 和 strtok_r() 之后,仍然没有找到。有没有办法在一段时间内做到这一点?任何想法都会有所帮助。塔克斯

0 投票
0 回答
78 浏览

html - 解析问题

如何仅使用 strtok 和/或 strsep 解析 html/txt 文件?

我正在尝试将维基百科文章的文本部分保存到 .txt 文件中。我的代码的第一部分允许我以 html 格式下载文章。接下来我应该做的是解析该 html 文件并将其保存为 txt 文件。

0 投票
2 回答
304 浏览

c - 在 C 中使用 strsep 和 fwrite 时出现奇怪的输出

我打算制作一个 python 程序来读取 XML 文档并在执行操作时将其用作参考。但是,手动创建 XML 文档会很乏味,所以我决定编写一个 C 程序来完成大部分工作,不包括第一行和根元素。这是代码:

编译的代码没有错误。但是,当我运行它时,文件 SPC_XML 几乎不正确:

这种胡说八道持续了一段时间。输入文件fp具有以下格式的数据:

认为错误出在 fwrite 上,尽管我不知道它是什么。问题是什么?

0 投票
1 回答
109 浏览

c - 奇怪的字符替换没有意义(对我来说)

很抱歉代码很长,但我很难过,需要帮助!

我的具体问题是,当我使用我的 parse 方法来调用“del”事件时,我会在一行中进行奇怪的字符替换,据我所知,没有被触及。当我直接调用函数“del”时,不会发生这种情况。我花了太长时间研究这段代码无济于事,试图实现一种不同的字符串标记方式;你的名字。我包含了所有代码,因为我不知道问题出在哪里,因为我开始认为它不在函数“解析”中。

我会闲逛并提供所要求的尽可能多的信息,现在我不知道还要添加什么。

PS 编译器链接到 gnu windows 库,这就是 strsep 的来源。

用于 Windows 的 LibGW32C

PPS 只有编译器警告是抱怨我不使用 char* buf

数据库.h

数据库

主程序

最后,我的输出:

提前感谢您的帮助!

我真的希望这不会成为一些愚蠢的新手错误。

0 投票
1 回答
850 浏览

windows - windows下自制strsep()

我正在尝试将我在 linux 中的一些代码移植到 Windows,但我在移植该strsep()函数时遇到了问题。我在论坛中查找并发现:https ://stackoverflow.com/a/8514474/2833912

但它没有正确解析包含双精度值的字段。文件中的行如下:

我有兴趣将第二个和最后两个字段unsigned long分别提取为和加倍。使用该mystrsep()链接中的函数和以下代码,我获得了正确解析的第二个字段,但两个双字段打印为“7014352.000000”或“-1.#IND00”,这是不正确的。

0 投票
3 回答
32409 浏览

c - 用 strsep 解析 C 中的字符串(替代方法)

我想解析一个字符串,我使用strsep函数:

该函数很好地完成了它的工作,但是如果我启动valgrind,分配的字符串char * r不会正确释放(肯定会丢失:1 个块中的 30 个字节)。

我想知道为什么以及是否有其他方法可以做同样的事情,也许不需要调用strsep

我打电话给 valgrindvalgrind --tool=memcheck --leak-check=full --show-reachable=yes ./a.out