我想以跨平台的方式从我的程序中创建到数据的符号链接。对于*nix系统,有symlink。对于Windows,我在SO中找到了CreateSymbolicLink函数,并按照此答案中的方法运行它:
int test = CreateSymbolicLink(input_fileName.c_str(), ouput_fileName.c_str(), 0);
但是
test
总是返回0
,这意味着函数失败了(而且确实不存在在output_fileName
中指定的文件)。我做错了什么?提前致谢!
更新:
上述调用后,我确实运行了GetLastError:
DWORD err = GetLastError();
带有err = 1314
。感谢@David。
更新2:
根据@David的回复,Windows不允许非管理员创建软链接。如果将来的Win API更改了这一点,则我将更新答案。截至2015年3月26日,@David的答案是正确的。