【发布时间】:2011-07-24 15:47:50
【问题描述】:
看起来这个问题很简单,但我找不到在不依赖平台的情况下在 C 中复制文件的明确解决方案。
我在我的开源项目中使用了 system() 调用来创建目录、复制文件和运行外部程序。它在 Mac OS X 和其他 Unix-ish 系统中运行良好,但在 Windows 上失败。问题是:
system( "cp a.txt destination/b.txt" );
- Windows 使用反斜杠作为路径分隔符。 (与 Unix-ish 中的斜杠相比)
- Windows 对内部复制命令使用“复制”。 (与 Unix-ish 中的 cp 相比)
如何编写没有依赖的复制代码?
(其实我是写宏来解决这个问题的,不过不爽。http://code.google.com/p/npk/source/browse/trunk/npk/cli/tests/testutil.h, L22-56)
【问题讨论】:
-
问题不在于我上面提到的“复制”。
标签: c multiplatform