РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1012 of 1245 menu

Функция args_os

Функция args_os из модуля std::env возвращает итератор, который выдаёт аргументы командной строки, переданные программе при запуске. В отличие от функции args, каждый аргумент представлен типом OsString, а не String. Это позволяет корректно работать с аргументами, которые не являются корректным UTF-8 (например, содержащими нестандартные байты в путях к файлам). Функция не принимает параметров. Первый элемент итератора - это имя запущенной программы.

Синтаксис

std::env::args_os()

Пример

Давайте выведем все аргументы командной строки, преобразовав каждый OsString в строку через to_string_lossy:

use std::env; fn main() { for arg in env::args_os() { println!("{}", arg.to_string_lossy()); } }

Результат выполнения кода при запуске без аргументов:

"target/debug/app"

Пример

Давайте соберём все аргументы в вектор Vec и выведем их количество и содержимое:

use std::env; fn main() { let args: Vec<_> = env::args_os().collect(); println!("Count: {}", args.len()); for arg in &args { println!("{}", arg.to_string_lossy()); } }

Результат выполнения кода при запуске с аргументами abcde и 12345:

Count: 3 "target/debug/app" "abcde" "12345"

Пример

Давайте получим только имя программы (первый аргумент) и преобразуем его в обычную строку:

use std::env; fn main() { let mut args = env::args_os(); let program = args.next().unwrap(); let name = program.to_string_lossy().to_string(); println!("Program: {}", name); }

Результат выполнения кода:

"Program: target/debug/app"

Смотрите также

  • функция args,
    которая возвращает аргументы командной строки в виде String
  • функция vars_os,
    которая возвращает переменные окружения в виде OsString
  • функция var_os,
    которая возвращает значение переменной окружения в виде OsString
  • функция current_exe,
    которая возвращает путь к текущему исполняемому файлу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить