私はリンクリストを作成しました。その要素は、前後の項目のアドレスを保持します。入力ファイルからコマンドを取得します。コマンドを検出し、次の文をパラメータとして使用します。 (テキスト:add_to_front john
- >意味:add_to_front(john)
)リンクリストでCで入力を読み取る
コード:http://pastebin.com/KcAm1y3L
私はそれが何度も私に同じ出力を与える入力ファイルからコマンドを与えることを試みます。しかし、私が手動でmain()
に入力を書き込むと、それは動作します。元の入力ファイルの場合
:
add_to_front john
add_to_back jane
add_to_back jane
print
(残念ながら)出力は次のようになります。
:私はadd_to_front(john);
add_to_back(jane);
add_to_back(jane);
print();
を書く場合は代わりに、このコマンドのチェックの、けれども
>add_to_front john
>add_to_back jane
>add_to_back jane
>print
jane
jane
jane
while (scanf("%s",command)!=EOF)
{
if (strcmp(command,"add_to_front")==0)
{
gets(parameter);
add_to_front(parameter);
}
else if (strcmp(command,"add_to_back")==0)
{
gets(parameter);
add_to_back(parameter);
}
else if (strcmp(command,"remove_from_back")==0)
remove_from_back(parameter);
...
printf(" HUH?\n");
}
}
main()
では、正しい出力が得られます。
私はそれがたくさんあることを知っていますが、このことは2日間私を悩ましています。私は間違っていると思いますか?
テストコードでも 'gets()'を使わないでください! **決して 'gets()'を使用しないでください! –
デバッグ(デバッガを使用)...! – Drakosha