-2

私はC言語でDOSに似たシェルインタープリターを作ろうとしていました(明らかに楽しみのために)

そして、以下のコードに示すように、clearと入力すると、画面がクリアされるようになります。しかし、そうではありません。

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    char command[128];
    int loop = 0;
    void main(){
        clrscr();
        printf("Starting shell\n");
        clrscr();
        while ( loop == 0){
            printf("command:");
            scanf("%s", &command);
            if(command=='clear'){
                printf("Clearing screen");
                clrscr();
            }  

/** Other Code **/
4

1 に答える 1

1
if(command=='clear')

有効な文字列比較ではありません。strcmpを使用して、 の文字列を比較しますC

そのはず

if (!strcmp(command, "clear"))
{
   printf("Clearing screen");
   clrscr();
}
于 2014-08-20T11:14:15.313 に答える