C文件扩展名检查

时间:2018-09-27 14:26:49

标签: c

我的问题似乎很简单,但是我在Google上朝各个方向被抛出,但是我的问题是在c中,如何检查命令行输入的文件是否具有特定的扩展名,例如“ .fs”,然后将其从所述文件中删除?

2 个答案:

答案 0 :(得分:1)

这样的事情。

int main(int c, char *v[])
{
   char *ext;
   if (c > 1)
   {
       printf("before %s\n", v[1]);
       /* check the first arg */
       ext = v[1] + strlen(v[1]) - strlen(".fs");
       if (strcmp(ext, ".fs") == 0)
         *ext = '\0';
       printf("after %s\n", v[1]);
   }
}

答案 1 :(得分:0)

  

如何检查命令行输入的文件是否具有特定的   扩展名,例如“ .fs”,然后将其从所述文件中删除?

假设您存储的名称是这样的:

char name[32];
strcpy(name, "test.fs");

您可以找到以下扩展名:

char * extension = NULL;
for (int i = 0; name[i]; i++) {
    if (name[i] == '.') {
        extension = &name[i];
    }
}
printf("ext: %s\n", extension);

并像这样删除它:

if (extension && !strcmp(".fs", extension)) {
    extension[0] = '\0';
}
printf("full: %s\n", name);