【发布时间】:2012-02-11 12:00:18
【问题描述】:
我有一个代码应该在 windows 和 unix 系统(Mac、linux 等)上运行,我想访问/删除相对路径中的一些文件,有没有办法以某种方式构建路径兼容两种操作系统(如 Java 的File.separator)?
我想到的最接近的事情是这样的:
#ifdef _WIN32
#define FILE_SEPARATOR "\\"
#else
#define FILE_SEPARATOR "/"
#endif
//in windows - ".\\filedir\\filename.txt"
//in *nix - "./filedir/filename.txt"
const char * mypath = "." FILE_SEPARATOR "filedir" FILE_SEPARATOR "filename.txt";
编辑
在阅读下面的答案/cmets 之后 - 我想补充一点,确认 Windows XP 或更新的 POSIX 合规性对我来说就足够了。
【问题讨论】:
-
我相信有一个boost路径构造方法但是我现在不知道它的名字。
-
现代 Windows(Vista、7、Server 2008 肯定;XP 我不确定)也接受
/作为路径分隔符。