文字列を配列に分割するのに助けが必要です。情報を保存せずにトークンを印刷するだけで動作するようになりました。しかし、このプログラムでは、strtok が作成したトークンを保存し、バイナリ検索を使用して、それぞれが異なる配列からの 2 つの要素で strncmp を実行する必要があります。
./file "入力例: 'Cause I'm Batman"
#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;
}
問題は、セグメンテーション違反が発生していて、トークンを配列に格納できないようで、その理由がわかりません。ポインターの問題ですか?互換性のないデータ型を渡しますか? 他の何か?
編集:出力が必要:「例」「入力:」「原因」「私は」「バットマン」
どんな助けでも素晴らしいでしょう。