怎样用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

}

C风格:

char *p = strrchr(path.c_str(), '/')

p是path里最后一个'/'的地址。然后

string s(p + 1)

,s就是"world.shp"了。

C++风格:

int pos = path.find_last_of('/')

pos就是最后一个'/'的下标。

然后

string s(path.substr(pos + 1) )

s就是"world.shp"了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存