2015-01-30 2 views
0

Я использую C++ в Microsoft Visual Studio 12. Я хочу передать аргументы командной строки. Я попытался включить их в поле Project/Properties/Debugging/Command Arguments в MSVS, и я также попытался использовать добавление CLIArgsMadeEasy, но он никогда не работает. argc всегда 1, где, конечно, argv [0] является приложением. Пример: дана программа fred.exe, что я хотел бы начать с трех аргументах: а, б, в т.е. эквивалент CMD окна линииMSVS 12, C++, аргументы команды не работают

fred.exe аЬс

I указать арг в предоставленных полях редактирования точно, как:

а

с использованием либо описанный выше (стандарт МСВСА или CLIArgsMadeEasy), но когда я бегом они не прошли метода.

Код:

#include <iostream> // for standard I/O 
#include <string> // for strings 
#include <iomanip> // for controlling float print precision 
#include <sstream> // string to number conversion 
#include <math.h> 

using namespace std; 

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

...

+0

Вы запускаете свою программу в режиме отладки от VS? – mclaassen

+0

свойства проекта → отладка → аргументы команды –

+0

1) Да, я запускаю режим отладки в VS. Я создавал и запускал выпуск, так как это не сработало, я изменил его на отладку. X64. 2) Как и в моем сообщении, я попробовал свойства проекта → отлаживать → аргументы команды (и после этого не работал, я установил добавление CLIArgsMadeEasy, но это тоже не помогло) – user3288226

ответ

1

Я попробовал эту программу в моей визуальной студии, и она работает:

#include <iostream> // for standard I/O 
 
#include <string> // for strings 
 
#include <iomanip> // for controlling float print precision 
 
#include <sstream> // string to number conversion 
 
#include <math.h> 
 

 
using namespace std; 
 

 
int main(int argc, char *argv[]) 
 
{ 
 
\t for(int i = 1; i < argc; i++) 
 
\t { 
 
\t \t cout << i << ":" << argv[i] << endl; 
 
\t } 
 
\t return 0; 
 
}

enter image description here