Я выполнил программу, которая использовала аргументы командной строки для ее запуска. Теперь я пытаюсь сделать программу диска меню как часть своего «улучшения». Я использовал,Преобразование командной строки в программу, управляемую меню
int main(int argc, char * argv[])
в оригинале, где заданы параметры были:
char * startCity = argv[1];
char * endCity = argv[2];
in.open(argv[3],ios::in); //<----file name went here
Вот что я сделал, и теперь я знаю, что это неправильно:
int main(int argc, char * argv[]){
int menuChoice;
string startCity;
string endCity;
string fileName;
ifstream in;
cout<<"Welcome to J.A.C. P2\n"
"\n"
"This program will find the shortest path\n"
"from One city to all other cities if there\n"
"is a connecting node, find the shortest path\n"
"between two cities or find the shortest\n"
"between three or more cities.\n"<<endl;
cout<<"Please make a choice of what you would like to do:\n"<<endl;
cout<<" 1------> Shortest Path between 2 cities.\n"
" 2------> Shortest Path between 3 or more cities.\n"
" 3------> Shortest Path from 1 city to all.\n"
" 9------> Take your ball and go home!\n"<<endl;
cout<<"Waiting on you: "; cin>>menuChoice;
switch (menuChoice) {
case 1:
cout<<"Enter the starting city: ";
cin>>StartCity;
cout<<"\nEnter the ending city: ";
cin>>EndCity;
cout<<"\nEnter the name of the file: ";
cin>> fileName;
break;
Поскольку все мои программы основано на char * argv [] Как я могу преобразовать их в строки ИЛИ как я могу назначить переменные аргументам, чтобы их прочитать?
Я ценю все ответы, но они, похоже, идут в направлении, в котором я пытаюсь убежать. В программе OLD использовались аргументы командной строки. Как я могу это сделать:
string StartCity = char * argv[1];
string EndCity = char * agrv[2];
string filename = in.open(argv[3],ios::in);
Это то, что я пытаюсь сделать. Мне жаль, если я не прояснился.
'string s = argv [0];' Это то, что вы подразумеваете для преобразования аргументов? – chris
Я думаю, что OP хочет по-другому. 'char * = sting s' – gardian06
@chris no, я отредактировал мой оригинальный вопрос, на самом деле я думаю, что я пытаюсь сделать то, что сказал только назад –