Параметры функции main

Последнее обновление: 06.03.2023

В прошлых темах функция main определялась без параметров. Однако также можно определить данную функцию с параметрами:

int main(int argc, char* argv[])
{
	// инструкции
}

Первый параметр, argc, представляет тип int и хранит количество аргументов командной строки. Второй параметр, argv[], представляет собой массив указателей и хранит все переданные аргументы командной строки в виде строк. Таким образом, благодаря данным параметрам мы можем при вызове программы в консоли передать ей некоторые данные.

Например, определим следующую программу:

#include <iostream>

int main(int argc, char* argv[])
{
    // выводим все переданные аргументы в цикле
    for (int i {}; i < argc; ++i)
    {
        std::cout << argv[i] << std::endl;
    }
}

В данном случае просто выводим все аргументы командной строки на консоль. Скомпилируем и просто запустим программу, не передавая ей никаких аргументов:

c:\cpp>g++ hello.cpp -o hello & hello
hello

В моем случае код программы расположен в файле "hello.cpp" и компилируется в файл с именем hello. После запуска программы, даже если мы не передаем ей никакх аргументов, в массиве argv[] будет как минимум один элемент - название файла программы. То есть в моем случае в массиве будет одна строка "hello". А первый параметр, argc, будет равен 1.

Передадим программе какие-нибудь аргументы

c:\cpp>g++ hello.cpp -o hello & hello Tom 38
hello
Tom
38

Здесь программе при запуске передается два значения - "Tom" и "38". Передаваемые аргументы разделяются пробелом. Причем даже если передается число (как в случае с вторым аргументом), то программа все равно получает его в виде строки. Соответственно теперь в массиве argv будет три элемента.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850