Файл как аргументы командной строки

0

Я новичок в C++, и я учусь в Visual Studio. Я хочу создать небольшую программу, которая читает текст из командной строки и открывает текст. Я знаю, что моя программа должна начинаться так:

  int main (int argc, char *argv[] ){

    ifstream File( argv[1] )

Но я очень смущен тем, как запустить его из командной строки Visual Studio. Я знаю, что таких вопросов много, но я до сих пор не нашел то, что искал. Я прочитал, что вам нужно перейти к свойствам, Debug и изменить аргументы командной строки, но что именно мне нужно добавить? И что мне следует вводить в командной строке VS.

Спасибо!

Теги:
file
visual-c++
visual-studio-2010
command-line-arguments

2 ответа

2

Из меню найдите: Project-> Свойства. Или из дерева Solution Explorer щелкните правой кнопкой мыши по проекту и выберите "Свойства".

Теперь в открывшемся диалоговом окне левой панели выберите: Конфигурация Properties-> Отладка

Затем в правой панели сетки найдите строку под названием "Аргументы команды"

Заполните его именем входного файла (я думаю, вам лучше поместить его туда как полный путь, если в пути используется пробел с двойными квотами. Например:

Без пространства:

filepathwithoutspace.txt

или с пробелами:

"file path with spaces.txt"

Удачи.

1

Во-первых, ваш код не должен начинаться так: перед передачей 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. (То, как мы создали вещи, это ..\..\.., но я думаю, вы найдете его несколько короче.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню