用C语言如何从路径名中分离文件名

用C语言如何从路径名中分离文件名,第1张

声明一个足够长的名为fn的char型数组,调用库函数strrchr在含路径的全文件名中找到文件名前的'\',将其后的文件名拷贝到fn中即可。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "string.h"

int main(void){

    char fn[30],*p

    char pathname[80]="e:\\1\\2\\abc.dat"

          //上句假设以某种方式获得的全文件名在pathname中,"..."中只是举例

    strcpy(fn,(p=strrchr(pathname,'\\')) ? p+1 : pathname)

          //上句函数第2实参这样写以防止文件在当前目录下时因p=NULL而出错

    printf("%s\n",fn)//打出来看看

    return 0

}

查找最后一个'\\'(strrchr()好像是这个函数),然后截断;

char[30] str = "c:/abc/def/ghi.exe"

strrchr(str, '/')[0] = '\0'

现在str就是"c:/abc/def"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8142279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存