- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,抱歉,如果这是一个基本(或愚蠢)的问题,我来自 Python,而且我对 C 很陌生(仍在研究它)。
我有一个简短的脚本来将字符串拆分为子字符串,例如:“这是我的字符串”转换为“这个”,"is",“我的”,“-字符串”。
之后我想选择以字符:'-'开头的子字符串,并保存在变量中调用“subline”:
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 9999
int main ()
{
char line[] ="this is my -string";
char *p;
char subline[MAX_CHAR];
printf ("Split string in tokens:\n");
p = strtok (line," ");
while (p != NULL)
{
printf ("%s\n", p);
p = strtok (NULL, " ,");
if ((strncmp(p, "-", 1) == 0)){
memcpy(subline, ++p, strlen(p)+1);
printf ("subline: %s\n", subline);
}
}
printf ("\nData:\n");
printf ("subline is: %s\n", subline);
return 0;
}
在 while 循环内一切运行良好,我什至可以打印变量“subline”,但在 while 循环外我遇到段错误,这是输出:
root@debian:/home/user/Desktop/splits# ./split
Split string in tokens:
this
is
my
subline: string
string
Segmentation fault
我试图找出并使用 malloc(sizeof(*subline)); 解决它但在 while 循环之外总是出现相同的段错误。
有人有什么想法吗?
谢谢。
最佳答案
当p
变为null时,您仍然将其传递给strcncmp()
。不要这样做——而是添加另一个检查。
当代码在 while 循环中检测到不再有匹配项时,strtok
返回 NULL,但在循环逻辑捕获它之前,strncmp()
code> 方法是用 NULL 指针调用的。
关于C 吐出字符串时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32468396/
我需要我正在构建的 clojure 应用程序的配置文件。它们应该足够容易让用户在文本编辑器中修改并且方便我的程序阅读。 我正在考虑序列化 s-表达式并使用 spit 将其放入用户主目录中的配置文件中,
我已经使用 GridLayout 几个星期了,我在打电话时注意到了这一点 gridLayout.requestLayout() 它在 LogCat 中吐出以下调试级消息: D/android.widg
我告诉 visual studio 构建一个 .dll,但无论我做什么,它只会构建一个 .lib。我将配置类型设置为 .dll,扩展名设置为 .dll,在我有“_WINDLL”的预处理器指令中,我将输
我想将 ebook-convert 与 Gitbook 一起运行,以从我的静态文件生成我自己的 pdf 文件。当我输入 ebook-convert 时,我收到了这个愚蠢的错误信息…… 我安装了 pyt
一般FindOne fmt.print result { }。我需要输出值。 我正在使用来自文档的几乎标准设置:https://docs.mongodb.com/ecosystem/drivers/g
我们已经为 Xinha 文本编辑器编写了一个插件来处理脚注。你可以看看: http://www.nicholasbs.com/xinha/examples/Newbie.html 为了处理Webkit
我在 pyramid 框架上有一个应用程序,我到处调用 request.route_url。我刚刚将我的应用程序切换到 HTTPS,所有链接仍然以 HTTP 形式出现。 是否有一个全局设置我可以放在某
我是一名优秀的程序员,十分优秀!