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

c - strsep 返回 null 导致的分段错误

我正在用 C 编写一个程序,我想通过将字符串除以空格来计算字符串中的单词数。

这是我的一些代码

由于某种原因,当循环终止时出现分段错误。有人知道是什么原因造成的吗?

0 投票
0 回答
354 浏览

c - 我不明白 strsep() 中的这个段错误

我会直入主题。我有一个从套接字读取命令字符串的函数,然后将该字符串分解为一个结构:

如果命令字符串中没有选项,Command.option = NULL. 出于此函数的目的,我们可以假设 recv() 的数据在套接字的另一端得到验证。

这是我遇到问题的功能:

当我使用 GDB 时,我发现 segfault 发生在cmd = strsep(&running, delimeters);但我不知道为什么。GCC 没有就无效指针向我发出警告,所以我认为这不是问题所在。我 strdup() 也是如此,因此在文字或数组上写入或类似的任何愚蠢的东西不应该有任何问题。老实说,我很难过。

此外,它只抱怨实际上有空格的字符串(这是分隔符)。单字命令工作正常。所以我想知道问题是否出在 strsep 尝试用 '\0' 覆盖空间时?但为什么会这样呢?

0 投票
2 回答
2804 浏览

c - strsep() 函数 - 分隔符中的更多字符

我在使用strsep()C 中的函数时遇到问题。我想将字符串分成两部分。该字符串包含有关当前播放歌曲的信息,在ARTIST - TITLE格式信息,因此艺术家和标题由一个空格、一个破折号和一个空格分隔。我想用这个“ - ”来分开它。“-”不起作用,因为有些艺术家的名字中有破折号。

例如,当我使用“Michel Telo - Ai Se Eu Te Pego”尝试此代码时:

我明白了:

而不是这个:

似乎strsep()将分隔符分为 3 个字符:“”、“-”、“”并在它们之间使用 OR,但我希望它按原样查找“-”。知道如何解决这个问题吗?

0 投票
1 回答
364 浏览

c - C - strsep 分割字符串

我在 C 中为我的 simpleShell 程序创建了一个 parseCmd 方法,并将每个参数存储在要存储在我的 args[] 数组中的分隔符空格之前。但是,我正在尝试将带有各自参数的参数添加到链接列表中,但我无法获取它们。

例如,如果我输入ls,我想要:

当我输入时ls -l,我想要;

我在这里要做的是:如果检测到“-”参数,请将其附加到前一个参数“ls”并另存为单独的字符串“ls -l”以存储到linkedList(已经实现)中。

这是我的方法。

编辑:

我尝试了以下

但是我遇到了段错误。

0 投票
1 回答
58 浏览

c - char** 数组上的 C 段错误

我不确定为什么当我的程序遇到第一if条语句时会收到分段错误。

这是 simpleShell 程序中的一种方法,其唯一目的是解析存储在中的标准输入输入,cmd并通过空格将其解析为单独的参数args

它永远不会打印if语句

0 投票
1 回答
10955 浏览

c - execvp():没有这样的文件或目录?

出于某种原因,execvp()在我的 PATH 文件(包括 /bin)中找不到命令(如 ls、pwd 等)。由于我有一个带有 ls 的自定义终端别名,我正在使用 pwd 等进行测试(以及新的 Linux 机器),但我不断得到这个作为输出:

这是代码:

编辑:认为最好也包括我的 PATH :

0 投票
1 回答
764 浏览

c - C - strsep() 函数有 int 错误,返回值为 char*

我在 C 代码中使用了 strsep(),但我得到了这个错误。

在此处输入图像描述

这是我的代码,我像这样使用 strsep() 。我不知道错误所说的 int。我认为 strsep() return char*。

0 投票
1 回答
335 浏览

c - 存储指向 strsep() 返回值的指针

当我使用 strsep() 遍历字符串的标记时,存储指向这些标记的指针并稍后引用它们对我来说是否安全?例子:

似乎 strsep() 总是修改原始字符数组,在每个标记后插入空字符。如果是这样,我应该安全存储并稍后使用old1old2指针,对吧?另外,我对sameStr的使用会导致任何问题吗?由于 strsep() 需要受限的 char** 类型,我不能直接使用指针str 。

0 投票
1 回答
234 浏览

c - 使用 strsep() 的总线错误

我正在尝试编写一系列函数,这些函数将文件名作为输入(例如 main.c)并使用 strsep() 返回文件扩展名。当我运行程序时,每当调用 strsep 函数时都会出现总线错误。这是代码:

该程序的主要功能只是使用包含文件名的 char* 调用 format():

我不确定为什么这个程序在执行时会导致总线错误。提前感谢您提供的任何帮助。

编辑:添加主要功能代码

0 投票
0 回答
221 浏览

c - c strsep和返回值:编译时警告

我在编译我的 c 代码(在 c89/90 中)时收到这个警告,我不知道如何解决这个问题。有人可以帮忙吗?

edge_target 是一个指针,strsep 返回一个指针,应该没问题,还是我遗漏了什么?

警告:赋值使指针从整数而不进行强制转换[默认启用]