Uff*_*ffe 10

它们实现相同的结果但属于不同的API,因此它们返回结果并以不同的方式报告错误.

如果您已经使用任一API中的其他例程,请选择该例程.如果没有,SetCurrentDirectory()更"Windowsy",而_chdir()更类似于POSIX API.如果您想将代码移植到Linux平台,请使用_chdir(); 如果你知道你只会在Windows平台上运行代码,SetCurrentDirectory().


era*_*ran 6

_chdir实际上是在SetCurrentDirectory内部使用,因此在大多数情况下它们可以有效地互换 但是,还有_chdir一件事:它更新当前驱动器的当前目录,存储在环境变量中.这需要作为_tchdir状态中的注释,因为"其他函数(fullpath,spawn等)需要设置它们".

我不确定这些天需要多少,但我会说 - 如果你使用那些POSIX风格的函数进行文件操作,路径操作,进程创建等,请相应地使用_chdir.如果您直接使用Win32 API函数,请使用SetCurrentDirectory.