从路径中截取文件名的两种方法:
#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; }
void *GetFilename(char *p) { int x = strlen(p); char ch = '\\'; char *q = strrchr(p,ch) + 1; return q; } int main() { char p[]="D:\\SoftWare\\Adobe\\Photoshop5.exe"; printf("%s\n",GetFilename(p)); return 0; }