在linux操作系统中,命令行的第一个参数是程序的路径名,并不是程序的文件名。
先上代码在说明。
#include <stdio.h>
#include <string.h>
char *basename(char *full_name)
{
char *p;
p=rindex(full_name,'/');//找到路径名中第一个'/'
if(p == '\0')
p=full_name;
else
p++;//得到文件名的起始位置
return p;
}
int main(int argc, char *argv[])
{
char *p;
int i;
for(i=0;argv[i]!= NULL;i++)
{
p=basename(argv[i]);
}
printf("file name is :%s\n",p);
return 0;
}