-4

我希望能够使用int main(argc, **argv[]),以便当我clr在终端上键入时,它会清除终端屏幕。我只是不知道如何使用命令行参数。

#include <stdio.h>
#include <stdlib.h>


int main(){
    int count;
    char buffer[100];
    char i = 32;
    int p=0;
    char* clr = "clr";
    char* quit = "quit";

    scanf("%s", buffer);
    for(count = 0; count < i; count++){
        buffer[count];
    }
    printf("The first word of your line is: %s\n",buffer);

        if( buffer[p] == *clr){
        system("cls");
        } else if(buffer[p] == *quit){
        exit(0);
        }

       return 0;
}
4

1 回答 1

-1

只需摆脱程序中所有无用的东西,然后使用strcmp()

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    char buffer[100];
    char *clr = "clr";
    char *quit = "quit";

    scanf("%s", buffer);
    printf("The first word of your line is: %s\n", buffer);

    if (strcmp(buffer, clr) == 0) {
        system("cls");
    } else if (strcmp(buffer, quit) == 0) {
        exit(0);
    }

    return 0;
}

根据您的问题,我不认为您正在寻找与命令行参数有关的任何内容。

如果您真的想“clr在终端上输入”并让它清除屏幕(使用这种可怕的system()方法),那么只需执行以下操作:

#include <stdlib.h>

int main(void) {
    system("cls");
    return 0;
}

命名您的可执行文件clr,并将其放在路径中的文件夹中。

于 2013-09-29T00:28:10.383 回答