検索用と置換用の 2 つの「文字列」を含むリンク リストがあります。また、開いて1行ずつ読むことになっているテキストファイルもあり、「辞書」(リンクされたリスト)に単語が存在するかどうかを確認します。存在する場合は、単語の定義に置き換える必要があります。次に、変更されたテキストを新しいテキスト ファイルに書き込むので、読み取り時にバッファーを使用する必要があると考えました。
問題は、リンクされたリストを反復処理する方法がわからないことです。これまでのところ、2 つの単語が含まれていますが、ループ内の最初の単語のみを検索します。
char *textLine = NULL;
size_t textlen = 0;
ssize_t readText;
struct node *n = malloc(sizeof(*n));
n = head;
char buffer[MAX_L];
while ((readText = getline(&textLine, &textlen, t)) != -1) {
char *t = strtok(textLine, " ");
while (t != NULL) {
if (strcmp(t,n->word) == 0) {
// do something
} else {
// do something
}
n = head;
t = strtok(NULL, " ");
}
}
head
is NULL
、それが最初の単語のみを検索する理由だと思います。行とリンクリストの両方をどのように反復処理すればよいか本当にわかりません。