Чтобы получить доступ к отдельному символу в одном из аргументов командной строки, при обращении к массиву
/* Эта программа посимвольно выводит все аргументы командной строки, с которыми она была вызвана.
*/
#include
using namespace std;
int main(int argc, char *argv[])
{
int t, i;
for(t=0; t
i = 0;
while(argv[t][i]) {
cout << argv[t][i];
++i;
}
cout << ' ';
}
return 0;
}
Нетрудно догадаться, что первый индекс массива
Обычно аргументы
Как упоминалось выше, при передаче программе числовых данных в качестве аргументов командной строки эти данные принимаются в строковой форме. В программе должно быть предусмотрено их преобразование в соответствующий внутренний формат с помощью одной из стандартных библиотечных функций, поддерживаемых C++. Например, при выполнении следующей программы выводится сумма двух чисел, которые указываются в командной строке после имени программы. Для преобразования аргументов командной строки во внутреннее представление здесь используется стандартная библиотечная функция
/* Эта программа отображает сумму двух числовых аргументов командной строки.
*/
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
double a, b;
if(argc!=3) {
cout << "Использование: add число число\n";
return 1;
}
a = atof(argv[1]);
b = atof(argv[2]);
cout << a + b;
return 0;
}
Чтобы сложить два числа, используйте командную строку такого вида (предполагая, что эта программа имеет имя
C>add 100.2 231
Стандартная библиотека C++ включает несколько функций, которые позволяют преобразовать строковое представление числа в его внутренний формат. Для этого используются такие функции, как
// Демонстрация использования функций atoi(), atol() и atof().
#include
#include
using namespace std;
int main()
{
int i;
long j;
double k;
i = atoi ("100");
j = atol("100000");
k = atof("-0.123");
cout << i << ' ' << j << ' ' << k;
cout << ' \n';
return 0;
}
Результаты выполнения этой программы таковы.
100 100000 -0.123
Функции преобразования строк полезны не только при передаче числовых данных программе через аргументы командной строки, но и в ряде других ситуаций.
До сих пор (начиная с главы 2) мы использовали инструкцию