问题标签 [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.
c - C中的strtok函数错误
我正在使用一个简单的程序来使用 strtok 函数对字符串进行标记。这是代码 -
程序运行成功。但是,如果将 a 行更改为
strtok 函数提供核心转储。我想解释一下我的理解为什么会这样?因为从 strtok 的声明为 --char *strtok( char *str1, const char *str2 ); char *str 作为第一个参数应该有效
c - 使用 strtok 时如何跳过输入文件中的空行?
我想使用 strtok 传递文件的行;这些值以逗号分隔。然而,strtok 也会读取只包含空格的空行。在这种情况下不应该返回一个空指针吗?
我怎么能忽略这样的一行?我试图检查NULL,但如上所述它不起作用。
c - 使用 strtok_r 时 malloc.c 断言失败
我在 C (Ubuntu 10.10) 中创建了一个 UDP 服务器。服务器非常大,其中一部分使用 Strtok_r() 进行了一些字符串处理[我之前已经成功使用过这个函数]。当服务器第一次运行时,它会正确处理来自客户端的数据。但是当另一个客户端出现并发送一些数据时,程序崩溃并显示以下消息:
如果我注释掉 strtok_r() 函数,那么一切正常(无论有多少客户来!)。导致问题的代码是:
据我所知,代码没问题,它适用于第一个客户。我有点困惑,这个错误是什么意思?我试过 strtok() ,结果是一样的。
c - 我误解了 win32(也许还有 libc)strtok()
在某些 CGI 代码中,我需要对很少出现的“&”、“<”和“>”字符进行编码。在编码函数中,如果输入字符串中没有这样的字符,我想立即退出。因此,在进入时,我尝试使用它strtok( )
来找出答案:
但是,即使没有任何定界符,也会strtok( )
返回指向 的第一个字符的指针in
。
如果字符串中没有分隔符,我希望它返回 NULL。
我的代码错了,还是我的期望错了?我不想为了消除通常情况而调用 strchr( ) 三次。
谢谢!
c - 所有对象都具有相同的名称
我正在为我的 C 算法课程做我的最后一个项目。对于这个项目,我们必须获取一个包含以下行的输入文本文件:
或者
前者表示要添加到我们在程序中使用的图中的顶点,第二个标记是顶点的名称,最后一个标记是它在图结构的 vertices[] 数组中的索引。
我有一个while循环逐行遍历这个程序,它需要第一个标记来决定是制作顶点还是边,然后相应地继续。
当我完成文件遍历时,我调用我的 show_vertices 函数,它只是一个按顺序打印每个名称 (g->vertices[i].name) 的 for 循环。
问题是名称应该在输出(%s)中的位置,我不断得到我收集的最后一个“token1”。在我使用的特定输入文件的情况下,它恰好是列表中最后一条边的源节点......这很奇怪,因为之后还有另外两个值通过 strtok() 函数。文件中的行如下所示:
它创建了从索引 6 到 7 的边,权重为 1。边很好。但是当我printf
用 %s 调用 any 时,它会出现“6”。不管。
这是文件遍历。
如果我在show_vertices
这里运行,我会得到:
c - 从字符串标记字符串时出错
我想从 SIC 汇编代码生成符号表。为此,我尝试将每个字符串从汇编代码中分离出来。因此,在尝试第一步时,我尝试了这段代码。
在这里,我尝试的是逐行读取文件中的汇编代码。然后将行中的字符串分隔为标记。
当我删除令牌分离部分(如代码中所述)时,我将按预期打印所有行。但是,如果我与令牌分离一起运行,则第一行将被读取,并且令牌按我预期的那样分离。但是对于第二行,我收到错误作为分段错误。我无法追踪我哪里出错了。
所以,我需要专家的解释。
提前致谢。
我的档案:
我的示例输出:
c - strtok() 获取字符串的第一个标记的问题
以下代码无法让我获得字符串的第一个标记:
c - strtok_r 提取引号内的字符串
我的字符串是:
我怎样才能提取它使用strtok_r
?
这是正确的做法吗?上面的语句会先跳过"
吗?
c - 使用 strtok_r 解析字符串
我的字符串如下所示:
我想解析直到没有反斜杠'\'的']'
我可以这样做strtok_r
吗?如果不是我应该怎么做?
c - *str 和 atoi(str) 的区别
我正在标记化,并在带有分隔符'='的文本文件(已读入数组'store')上使用strtok
所以文件中有一条声明:TCP.port = 180
我做到了:
现在,如果我这样做*str
,它会给我 '82'(可能是一些垃圾值)但atoi(str);
给我 180(正确值)
我希望有人能对此有所了解,不应该取消引用 str 给我 180 吗?