1. ホーム
  2. c

[解決済み】strcmpが機能しない

2022-01-20 01:21:54

質問

これは全くの初心者の質問かもしれませんが(長い間C言語を触っていないので)、なぜこれがうまくいかないのか、どなたか教えてください。

printf("Enter command: ");
bzero(buffer,256);
fgets(buffer,255,stdin);

if (strcmp(buffer, "exit") == 0)
    return 0;

"exit"を入力してもifに入らないのですが、"buffer"の長さと関係があるのでしょうか?

何か提案はありますか?

解決方法は?

こんなことをしたいのでは?

strcmp(buffer, "exit\n")

つまり、文字列を入力して "enter"を押すと、改行が buffer .

代わりに、文字列の n 文字だけを比較する strncmp() を使用します。