声明一个足够长的名为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"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)