码迷,mamicode.com
首页 > Windows程序 > 详细

windows平台没有提供的两个字符串操作函数。

时间:2014-11-07 09:54:58      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:strdup   setenv   putenv   

在看一些开源代码时,经常看到一些字符串操作函数,这些函数在Linux平台下是有的,但在windows平台上,MS没有提供。因此在软件中不得不自己实现.常见的库函数有:

//获得当前字符的一个拷贝,由外部释放内存。
char *strdup(const char *src)  
{
    int             len;
    char           *dst;

    len = strlen(src) + 1;
    if ((dst = (char *) malloc(len)) == NULL)
        return (NULL);
    strcpy(dst, src);
    return (dst);
}

//设置环境变量
int setenv(const char *name, const char *value, int overwrite)  
{
    char           *cp;
    int             ret;

    if (overwrite == 0) {
        if (getenv(name))
            return 0;
    }
    cp = (char *) malloc(strlen(name) + strlen(value) + 2);
    if (cp == NULL)
        return -1;
    sprintf(cp, "%s=%s", name, value);
    ret = putenv(cp);
#ifdef WIN32
    free(cp);
#endif
    return ret;
}

windows平台没有提供的两个字符串操作函数。

标签:strdup   setenv   putenv   

原文地址:http://blog.csdn.net/smartfox80/article/details/40888423

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!