首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C中获取文件扩展名

在C语言中,获取文件扩展名的一种常见方法是使用strrchr函数,它会返回字符串中最后一次出现指定字符的位置。以下是一个示例函数,它接受一个文件名,并返回文件扩展名:

代码语言:javascript
复制
#include <string.h>

const char* get_filename_ext(const char* filename) {
    const char* dot = strrchr(filename, '.');
    if(!dot || dot == filename) return "";
    return dot + 1;
}

这个函数首先查找文件名中最后一个'.'字符的位置。如果没有找到'.',或者'.'是文件名的第一个字符(这意味着文件名以'.'开头,但没有扩展名),函数就返回一个空字符串。否则,函数返回'.'后面的所有字符,即文件的扩展名。

例如,如果你调用get_filename_ext("example.txt"),函数将返回"txt"。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • js获取input上传文件文件名和扩展名的方法

    使用 js 可以获取 input 上传文件文件名和扩展名,这里我整理一下具体方法: 1. 使用原生JS获取: CSS代码:给 div 一个内边距,按钮设置样式。...undefined ,如果已选择文件 则返回文件名和扩展名。...'mybtn');     var div = document.getElementById('div');     mybtn.onclick = function () {         //获取文件上传文件文件名和扩展名...:#FF0000;">文件名:' + myfile.files[0].name + '';             //获取上传文件扩展名             var filevalue...声明:本文由w3h5原创,转载请注明出处:《js获取input上传文件文件名和扩展名的方法》 https://www.w3h5.com/post/89.html

    13.4K00

    Centos8如何更改文件多个文件扩展名

    方法一:使用循环 目录递归更改文件扩展名的最常见方法是使用 shell 的 for 循环。我们可以使用 shell 脚本提示用户输入目标目录、旧的扩展名和新的扩展名以进行重命名。...接下来,我们得到没有点.的旧扩展名。最后,我们获得了新的扩展名来重命名文件。然后使用循环将旧的扩展名更改为新的扩展名。 其中${file%.$old_ext}....$new_ext意思为去掉变量$file最后一个.及其右面的$old_ext扩展名,并添加$new_ext新扩展名。 使用mv -v,让输出信息更详细。...renamed 'file9.txt' -> 'file9.log' 如果想将.log结尾的更改回.txt,如下操作: 方法二:使用rename命令 如果不想使用脚本,可以使用rename工具递归更改文件扩展名...: [root@localhost test]# rename .log .txt *.log 总结 本教程讨论了如何将文件从特定扩展名更改为另一个扩展名的快速方法。

    3.6K20

    Centos8如何更改文件多个文件扩展名

    方法一:使用循环 目录递归更改文件扩展名的最常见方法是使用 shell 的 for 循环。我们可以使用 shell 脚本提示用户输入目标目录、旧的扩展名和新的扩展名以进行重命名。...接下来,我们得到没有点.的旧扩展名。最后,我们获得了新的扩展名来重命名文件。然后使用循环将旧的扩展名更改为新的扩展名。 其中${file%.$old_ext}....$new_ext意思为去掉变量$file最后一个.及其右面的$old_ext扩展名,并添加$new_ext新扩展名。 使用mv -v,让输出信息更详细。...renamed 'file9.txt' -> 'file9.log' 如果想将.log结尾的更改回.txt,如下操作: 方法二:使用rename命令 如果不想使用脚本,可以使用rename工具递归更改文件扩展名...: [root@localhost test]# rename .log .txt *.log 总结 本教程讨论了如何将文件从特定扩展名更改为另一个扩展名的快速方法。

    4K00

    Centos8如何更改文件多个文件扩展名

    方法一:使用循环 目录递归更改文件扩展名的最常见方法是使用 shell 的 for 循环。我们可以使用 shell  提示用户输入目标目录、旧的扩展名和新的扩展名以进行重命名。...接下来,我们得到没有点 .的旧扩展名。最后,我们获得了新的扩展名来重命名文件。然后使用循环将旧的扩展名更改为新的扩展名。 其中 ${file%.$old_ext}....$new_ext意思为去掉变量 $file最后一个 .及其右面的 $old_ext扩展名,并添加 $new_ext新扩展名。 使用 mv -v,让输出信息更详细。...file9.log' image.png 如果想将.log结尾的更改回.txt,如下操作: image.png 方法二:使用rename 如果不想使用脚本,可以使用 rename工具递归更改文件扩展名...: [root@localhost test]# rename .log .txt *.log image.png 总结 本教程讨论了如何将文件从特定扩展名更改为另一个扩展名的快速方法。

    3.3K00

    shell程序里如何从文件获取第n行

    我一直使用 head -n | tail -1,它可以做到这一点,但我一直想知道是否有一个Bash工具,专门从文件中提取一行(或一段行)。 所谓“规范”,我指的是一个主要功能就是这样做的程序。...答: 有一个可供测试的文件,内容如下: 使用 sed 命令,要打印第 20 行,可写为 sed -n '20'p file.txt sed -n '20p' file.txt 测试截图如下: 要打印第...8 到第 12 行,则可用命令 sed -n '8,12'p file.txt 如果要打印第8、9行和第12行,可用命令 sed -n '8p;9p;12p' file.txt 对于行数特大的文件...可采用类似如下命令 sed '5000000q;d' file.txt tail -n+5000000 file.txt | head -1 需要关注处理性能的伙伴可以在上述命令前加上 time 再对大文件进行测试对比

    38620

    3分钟短文 | PHP 如何优雅地获取文件扩展名?别再explode了

    引言 通常文件扩展名Linux系统上是没有意义的,仅是用来标记该文件属于哪种类型?但是大多数,我们从浏览器上访问Web程序。...提交给服务器的文件是带有扩展名的,比如,图片上传,文件上传就是比较经典的一些应用。 那么在编程如何准确获取文件扩展名,并根据分类做相应的处理呢?实现的方法有很多。今天我们给大家介绍一些最佳实践。...一个粗糙的示例 获取一张上传图片的扩展名,有些同学可能会这样写: $userfile_name = $_FILES['image']['name']; $userfile_extn = explode(...假设我们管控上传文件的最后一个字段是文件扩展名,那么该文件扩展名就是 end($userfile_extn)。 这样的实现方法完美吗?有更好的吗?...HTML 文件 IMG 标记的 height/width 文本字符串。

    72830

    C++通过文件指针获取文件大小

    叙述 对于读取本地文件,很多时候需要预先知道本地文件的大小进行读取。网上给出的方案是移动文件指针,计算文件头和文件尾的偏移,计算出文件的大小。...但是我总觉得这样做可能会与读取文件一样消耗性能,为了解决这个问题,我写了如下例子验证了一下。...timer.time_in(); ifs.seekg(0, std::ios::end); int len = ifs.tellg(); ifs.seekg(0, std::ios::beg); cout << "获取文件长度耗时...:" << timer.time_out() << "秒" << endl; return 1; } 如上所示,我写了一个计时器,分别统计偏移文件指针计算文件长度与读取整个文件的耗时,运行结果如下:...结论 可以看到,偏移文件指针带来的时间消耗非常小,几乎可以忽略不记。通过这个方法,不仅可以很快计算文件长度,还可以根据需要读取文件的特定位置,从而达到节省性能的目的。

    2.8K10
    领券