Я новичок в C++, и я учусь в Visual Studio. Я хочу создать небольшую программу, которая читает текст из командной строки и открывает текст. Я знаю, что моя программа должна начинаться так:
int main (int argc, char *argv[] ){
ifstream File( argv[1] )
Но я очень смущен тем, как запустить его из командной строки Visual Studio. Я знаю, что таких вопросов много, но я до сих пор не нашел то, что искал. Я прочитал, что вам нужно перейти к свойствам, Debug и изменить аргументы командной строки, но что именно мне нужно добавить? И что мне следует вводить в командной строке VS.
Спасибо!
Из меню найдите: Project-> Свойства. Или из дерева Solution Explorer щелкните правой кнопкой мыши по проекту и выберите "Свойства".
Теперь в открывшемся диалоговом окне левой панели выберите: Конфигурация Properties-> Отладка
Затем в правой панели сетки найдите строку под названием "Аргументы команды"
Заполните его именем входного файла (я думаю, вам лучше поместить его туда как полный путь, если в пути используется пробел с двойными квотами. Например:
Без пространства:
filepathwithoutspace.txt
или с пробелами:
"file path with spaces.txt"
Удачи.
Во-первых, ваш код не должен начинаться так: перед передачей argv[1]
в std::ifstream::ifstream
, вы должны убедиться, что есть аргумент, и в противном случае вывести сообщение об ошибке. Как бы то ни было, вы могли бы передать нулевой указатель на конструктор ifstream
, который приведет (обычно) к сбою программы.
О том, как запустить его: где вы поместили исполняемый файл? Если вы находитесь в окне командной строки Visual Studio и вызывается cl
, то по умолчанию исполняемый файл должен находиться в локальном каталоге. Просто введите .\name
, где name
- имя вашей программы. Если вы действительно скомпилировали его из среды IDE, то в командном окне вы должны использовать cd
чтобы перейти туда, где был сгенерирован исполняемый файл (который вы можете узнать из своих свойств), и вызвать его, как указано выше; или вы можете просто указать путь полностью: c:\Users\me\whereeverIPutTheThing\name
.
Если вы хотите отлаживать (используя отладчик), вам нужно указать: 1) имя исполняемого файла (но по умолчанию должно быть хорошо), 2) параметры для его передачи (то, что вы хотите увидеть в argv[1]
- не забывайте кавычки, если в нем есть пробел) и 3) каталог, в котором должен выполняться исполняемый файл. Вторая и третья несколько взаимозависимы: вы можете, например, указать только имя файла в 2 и путь, в котором файл находится в 3, или вы можете указать полный путь к имени файла в 2 и забыть о 3. Или используйте комбинацию из двух: на практике я стараюсь делать все из корневого каталога проекта, поэтому я бы указал путь относительно этого каталога, а затем путь из моего файла проекта в этот корень в 3. (То, как мы создали вещи, это ..\..\..
, но я думаю, вы найдете его несколько короче.)