integer arguments for c++ -
i have sort of calculator in c++ should accept arguments when executed. however, when enter 7 argument, might come out 10354 when put variable. here code:
#include "stdafx.h" #include <iostream> int main(int argc, int argv[]) { using namespace std; int a; int b; if(argc==3){ a=argv[1]; b=argv[2]; } else{ cout << "please enter number:"; cin >> a; cout << "please enter number:"; cin >> b; } cout << "addition:" << a+b << endl; cout << "subtaction:" << a-b << endl; cout << "multiplycation:" << a*b << endl; cout << "division:" << static_cast<long double>(a)/b << endl; system("pause"); return 0; }
wherever did int argv[]? second argument main char* argv[].
you can convert these command line arguments string integer using atoi or strtod.
for example:
a=atoi(argv[1]); b=atoi(argv[2]); but can't change parameter type, because operating system going give command-line arguments in string form whether or not.
note: must #include <stdlib.h> (or #include <cstdlib> , using std::atoi;) use atoi function.
if want error-checking, use strtol instead of atoi. using easy, , gives pointer location in string parsing terminated. if points terminating nul, parsing successful. , of course verify argc make sure user provided enough parameters, , avoid trying read missing parameters argv.
Comments
Post a Comment