cp (copy) etc.,
também os programas escritos em C++ aceitam argumentos de linha
de comandos. Suponha que o seguinte programa era compilado e que
o ficheiro executável (linguagem máquina) correspondente
se chama testa-argumentos.
A execução do programa resultaria em (a negrito as entradas do utilizador, e a itálico o pronto do computador):
#include <iostream>
#include <string>
using namespace std;
int main(int numero_de_argumentos, char const* argumentos[]){if(numero_de_argumentos <= 0)cout << "Estranho! Não deveria acontecer!" << endl;else {cout << "O nome do programa é: " << argumentos[0] << '.' << endl;
for(int i = 1; i != numero_de_argumentos; ++i)cout << "O argumento " << i << " é " << argumentos[i] << '.'<< endl;
string ultimo_argumento = argumentos[numero_de_argumentos - 1];cout << "O último argumento aos pedacinhos é:" << endl;for(string::size_type i = 0; i != ultimo_argumento.size(); ++i)cout << ultimo_argumento[i] << endl;}}
a?????@mercurio ~...?????> ./testa-argumentosO nome do programa é: ./testa-argumentos.O último argumento aos pedacinhos é:testa-argumentosa?????@mercurio ~...?????> ./testa-argumentos 1 dois 34O nome do programa é: ./testa-argumentos.O argumento 1 é 1.O argumento 2 é dois.O argumento 3 é 34.O último argumento aos pedacinhos é:34
Nota: quando executar o programa em modo de depuração
pode passar argumentos de linha de comando após o comando r:
(gdb) r 1 dois 34