我在OSX和Windows Vista中使用以下代码:
在OSX上使用
我在两个操作系统中都使用俄语定义了相同的环境变量:MY_ENV ='这里输入俄文字母'。并且字符串长度差异大约是2倍。
我计划在
#include <stdio.h>
#include <string.h>
extern char **environ;
int
main(int argc, char **argv)
{
int i;
for (i = 0; environ[i] != NULL; i++)
{
printf("var = %s - %d\n", environ[i], (int)strlen(environ[i]));
}
return 0;
}
在OSX上使用
cc
编译,在Windows上使用来自Windows SDK 7.1(其中包含Microsoft Visual C++ 2010可再发行软件包)的'cl'进行编译。我在两个操作系统中都使用俄语定义了相同的环境变量:MY_ENV ='这里输入俄文字母'。并且字符串长度差异大约是2倍。
我计划在
malloc
中使用相同的长度,希望它们长度一致。如何以CRT方式获得相同的长度?