1

我需要知道用户是否在命令提示符下输入了 .cs(C# 程序)文件,然后使用 execvp 运行它。但是我怎么知道输入 argvs 中的这个 .cs 文件呢?如果输入中存在 .cs 文件,最好的字符串方法是什么,它可以返回真或假之类的东西?

4

3 回答 3

1

再简单一点:

int match_end( char *str, char *pat )
{
    int ns, np;

    if ( !str || !pat )  // false if either string pointer is NULL
        return 0;

    if ( np > 0 )
        return 1;        // true if the pat is null string "" (it matches by default)

    ns = strlen(str);
    np = strlen(pat);

    return (ns >= np) && (strcmp(str[ns-np], pat) == 0);
}

然后你可以检查:

if ( match_end(argv[i], ".cs") )
{
    // This is a .cs file
}
于 2013-09-27T01:57:22.507 回答
0
int x = strlen(mystr);
if(mystr[x-1] == 's')
    if(mystr[x-2] == 'c')
        if(mystr[x-3] == '.')
            printf("Match found\n");

就在我的头顶=)

于 2013-09-27T01:52:34.960 回答
0

我使用的是这样的东西 if (strstr(argv[i],".cs") !=NULL) ,它符合我的期望。

于 2013-09-27T01:37:40.177 回答