ここでは、私がしたいことがあります: ユーザーはプロンプトでコマンドを入力する必要があり、プログラムは何をすべきかを知るためのコマンドを評価します。 このコマンドが見つからない場合、シェルは「コマンドが見つかりません!」というエラーを返します。 ユーザーがEXITコマンドを入力すると、プログラムは終了します。 簡単にするために、ユーザーが入力しないでEnterキーを押したときの問題を回避するために、ユーザーは常に何かを入力すると仮定します。 空の文字列は使用されません。私はここでループを備えた、これは私が何をしたいですにすべきである:シェルコマンドを評価するCプログラムを書く方法
例:
SHELL.EXE
シェル>テスト
コマンドが見つかりません!
シェル> test2
コマンドが見つかりません!
シェル>終了
>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char command[20];
while (command != "exit") {
//check with an if statement for valid commands
printf("Enter a command:\n");
gets(command);
}
if (command == "exit") {
//program should exit
}
return 0;
}
「==」でC文字列を比較することはできません。 – tkausl
私はそれをする方法がわからないことを知っています –
文字列を比較するには、cライブラリ関数の1つが必要です。 https://www.tutorialspoint.com/c_standard_library/c_function_strcmp.htm – drescherjm