у аргументов, передаваемых программе, тип char. как мне преобразовать численный аргумент в int? делаю так:
port = (int) argv[2];
printf("%d", port); - выводит "-1073745208", хотя 2 аргемент программе я передавал "80". (т.е. ./a.out 127.0.0.1 80). есть ли в языке c/c++ функция наподобие var_dump в php?
port=atoi(argv[2]));
>port=atoi(argv[2]));sscanf лучше. если там галиматья какая-нть была, atoi вернет 0 и ты не определишь, правда ноль или еще чего
\^P^/
>>port=atoi(argv[2]));
>sscanf лучше. если там галиматья какая-нть была, atoi вернет 0 и ты
>не определишь, правда ноль или еще чегоВ случае с С++ ещё лучше использовать lexical_cast из boost (boost.org):
#include <boost/lexical_cast.hpp>
using boost::lexical_cast;
...
int port = lexical_cast<int>(argv[2]);