首页 > 代码库 > windows平台没有提供的两个字符串操作函数。

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

在看一些开源代码时,经常看到一些字符串操作函数,这些函数在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平台没有提供的两个字符串操作函数。