希望这很容易做到。我正在用 C 语言编写一个需要在 Windows 和 Linux 上运行的程序。在 Linux 上它工作得很好,但在 Windows(通过 Cygwin)上它搞砸了,因为环境变量在路径中有反斜杠而不是斜杠。有没有办法代替这些?我尝试了以下但它没有改变任何东西,可能是因为它认为反斜杠正在转义下一个字符,这显然不是这种情况。这是我尝试过的:
char* fixPath(char *env)
{
char *val[100];
strcpy(val, getenv(env));
int index = 0;
while(val[index])
{
if(val[index] == '\\')
val[index] = '/';
else
index++;
}
printf("\n***%s",val);
return val;
};
int main(int argc, char *argv[])
{
char *test1;
test1 = fixPath("SERVER1");
printf("\n*****%s",test1);
...
}
这样做的正确方法是什么?