我正在使用 C 语言编写一个将参数作为输入的程序。是否可以检查您的 argv 是否包含特定的文件扩展名?就像检查 argv 中是否有任何 char* 以 .jpeg 或类似的结尾?(任何示例代码将不胜感激:))
您可以查找最后一个.withstrrchr然后比较扩展名strcmp
int found = 0;
char *p = strrchr(argv[1], '.');
if (p)
found = strcmp(p, ".jpeg") == 0;
Run Code Online (Sandbox Code Playgroud)
或者,从字符串的末尾取出扩展的长度并比较
const char *ext = ".jpeg";
size_t xlen = strlen(ext);
size_t slen = strlen(argv[1]);
int found = strcmp(argv[1] + slen - xlen, ext) == 0;
Run Code Online (Sandbox Code Playgroud)
这也适用于.tar.gz.