Как получить доступ к разделителю пути к файлу для текущей платформы?

Есть ли доступная опция для получения файлового разделителя для платформы в Rust?

Могут быть разные разделители для разных платформ:

let separator = "\\" // Could be this.
let separator2 = "/" // Could be this.
let separator3 = "//" // Could be this.

Я похож на что-то следующее:

let env_independent_seperator = env::separator()

Тогда это может быть использование может быть следующим:

let folder = "C\\Folder\\Path";
let env_independent_separator = env::separator() // Looking something like this
let file_name = "File.txt";
let full_path = folder+ env_independent_separator + file_name;

Есть ли File::separator() в ржавчине?

1 ответ

Решение

Вместо использования пользовательских операций с разделителем следует использовать Pathbuf или же Path для этой проблемы.

  • Path.join
  • Pathbuf.push

В случае специфического для платформы разделителя следует использовать std:: path:: MAIN_SEPARATOR.

Другие вопросы по тегам