我需要帮助将字符串分解为数组。我让它在不存储信息的情况下工作,只打印令牌。但是对于这个 prog,我需要存储 strtok 制作的标记并使用二进制搜索来执行 strncmp,其中有 2 个元素,每个元素来自不同的数组。
./file "示例输入:因为我是蝙蝠侠"
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char delims[] = " ";
char *result = NULL;
int i = 1;
int j = 0;
char sent[1000];
result = strtok(argv[1], delims);
sent[0] = *result;
while(result != NULL)
{
result = strtok(NULL, delims);
sent[i] = *result;
i++;
}
while(j < i)
{
printf(" %p\n", &sent[j]);
j++; //Forgot to add it in first time around
}
return 0;
}
问题是我遇到了分段错误,我似乎无法将令牌存储到数组中,我不明白为什么。是指针问题吗?传递不兼容的数据类型?还有什么?
编辑:想要的输出:“示例”“输入:”“'Cause”“I'm”“Batman”
任何帮助都会很棒。