Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158060
  • 博文数量: 66
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-23 15:21
文章分类

全部博文(66)

文章存档

2016年(66)

我的朋友

分类: LINUX

2016-05-05 18:39:07

/* 从目录中读取一个文件名
输入参数
        dir             文件全名
        lenOfDir        文件全名的长度
输出参数
        fileName        读出的文件名(不带文件类型)
返回值:
        >=0     文件名的长度
        <0      出错代码
*/


int ReadFileNameFromFullDir(char *dir,int lenOfDir,char *fileName)
{
        char    tmpBuf[512];
        char    *ptr;
        int       len;


        if ((dir == NULL) || (lenOfDir < 0) || (fileName == NULL))     //输入值都是非空值
                return(-1);
        ptr = dir;


loop:
        if (ptr >= dir + lenOfDir)
                return(0);
        strcpy(tmpBuf,ptr);
        if ((ptr = strstr(ptr,"/")) == NULL)    // 已不是目录
        {
                for (len = strlen(tmpBuf); len > 0; len--)
                {
                        if (tmpBuf[len-1] == '.')  //去除文件类型
                        {
                                tmpBuf[len-1] = 0;
                                break;
                        }
                }
                strcpy(fileName,tmpBuf);
                return(len);
        }
        ptr += 1;
        goto loop;
}


调用:ReadFileNameFromFullDir("/XXX/XX/XX/XX/XX/123.txt", strlen("/XXX/XX/XX/XX/XX/123.txt"), fileName);


结果:fileName = [123]

阅读(727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~