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