我正在编写可移植的Rust代码以在某些目录中查找程序。在Windows上,我希望它foo.exe
和其他地方只有foo
。
显然我可以使用if cfg!(windows)
,但这看起来很难看。
有没有更好的方法来查找平台的可执行文件扩展名?
答案 0 :(得分:3)
是的,std::env::consts::EXE_SUFFIX
在Windows上为.exe
,std::env::consts::EXE_EXTENSION
为exe
。两者在Unix上都是空的。
这些可以与基本名称结合使用,例如std::path::PathBuf::set_extension
。