Другие языки программирования и технологии
C++ непонятно,растолкуйте плиз
Тема: аргументы командной строки int main(int argc, char *argv[]) Аргумент argc представляют общее число аргументов командной строки, введенных пользователем, включая имя самой программы. Таким образом, для следующей командной строки аргумент argc является значением 2: readtxt output.txt Аргумент argv - это массив строк, содержащий все аргументы командной строки,начиная с самой программы.В только что приведенном примере элемент массива argv[0] указывает на readtxt, а элемент argv[1] - на output.txt В общем, когда прочитал это в книге, ничего не понял.Обьясните пожалуйста, зачем нужны эти аргументы вообще, куда вписывать readtxt output.txt , где эта командная строка находится,и как сделать, чтобы значение argc было больше 1(написал код чтобы вывести argc,всегда 1).
командная строка - это та строчка в косноли, где ты запускаешь свою программу, например:
c:\myProgram.exe myVar
в таком случае: argc = 2
argv = ['myProgram.exe','myVar']
c:\myProgram.exe myVar
в таком случае: argc = 2
argv = ['myProgram.exe','myVar']
Ну это просто.
Пуск -выполнить. Сделал? вот это и есть окно для командной строки... Совсем разучились)) Раньше, под DOS
только из командной строки все и делалось. Да и сейчас админят под nix-ами тоже ))
тут один дополнительный параметр программы edit
> edit mytext.txt
или 2 параметра:
> copy a.txt b.txt
Пуск -выполнить. Сделал? вот это и есть окно для командной строки... Совсем разучились)) Раньше, под DOS
только из командной строки все и делалось. Да и сейчас админят под nix-ами тоже ))
тут один дополнительный параметр программы edit
> edit mytext.txt
или 2 параметра:
> copy a.txt b.txt
Это нужно только в том случае, если ты собираешься когда-нибудь запускать твою программу с какими-то параметрами, которые она возьмет не путем ввода, а из командной строки своего запуска или из ярлыка, которым запускается.
Обычно это не нужно и можно писать короче int main(){....}
Обычно это не нужно и можно писать короче int main(){....}
параметры командной строки - это способ передать твоей программе параметры на автомате (даже без участия юзера) , без правки всяких конфигов и т. п.
допустим программа должна открыть файл file.txt
тогда вызывать можно так:
prog.exe file.txt
a int argc, char *argv[] - позволяют обратиться к этим данным без лишних заморочек
допустим программа должна открыть файл file.txt
тогда вызывать можно так:
prog.exe file.txt
a int argc, char *argv[] - позволяют обратиться к этим данным без лишних заморочек
readtxt output.txt - это тебе для примера дано, что бы ты понял что это такое, хотя в принципе тут и так всё понятно написано, можно было и без этой строчки. Зачем программе нужны аргументы? Всё зависит от программы, можно обойтись и без них.
.
к примеру:
format C:
format - им программы
c: - аргумент, который учитывается программой в процессе работы.
В общем объяснил, как смог. Если не пингвин, то поймёшь.
.
к примеру:
format C:
format - им программы
c: - аргумент, который учитывается программой в процессе работы.
В общем объяснил, как смог. Если не пингвин, то поймёшь.
пока не заморачивайся с этой фигней, потом дойдет
если ты только начинаешь программировать, то тебе знать за что отвечают параметры мэйна не обязательно
Бауржан Islamov
Хз, я строго по каждой теме в книге иду, наткнулся на эту тему и... вот.До этого файловые потоки изучил, все понятно было
Похожие вопросы
- C++ ЗАДАЧКА, ПОМОГИТЕ ПЛИЗ
- как в Microsoft Visual Studio 2010 в C# в системе счисления, перевести в десятеричную? Как дополнить код? Помогите плиз
- завтра C# экзамен! Кто чем поможет? хотя бы что нибудь про интефейсы. Плиз! народ! погибаем! Плиз народ погибаем!
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Помогите срочно C#
- Помогите исправить ошибку в программе (c++).
- Зачем нужен C++, если есть C?
- Ещё тупой вопрос по C++ :)
- Проверти правильность программы на C++
- Почему многие отдают предпочтение C++ а не C# ?
Программы из консоли не запускал, просто сохраненный экзешник открывал.
c:\myProgram.exe 1 2 3 4 dgerg 32dsf yaIdiot
все параметры через пробел будут записаны в массив argv, а потом уже ты их обрабатывай как тебе угодно