redefinir argc argv

wiz_pedro

Membro
Boas ppl,

Preciso de uma(ou várias) ajuda(s)!!
Tenho de implementar uma bash interna que funcione de forma semelhante ao argc e argv da main.

No entanto, esta bash terá de, ao contrário do que acontece com o argc e argv, poder ser usado dentro de um programa que mais tarde irei definir.

preciso de ideias...alguem?
 
Não percebi muito bem o que queres... Mas porque não podes passar, por exemplo, o argv/argc para a função que realmente queres que trate dos argumentos?
 
o objectivo não é passar os parametros aquando da chamada da compilação do programa (a nao ser que dê para usar isso internamente...nao sei se dá).

O que eu preciso é:
- ler 1 string no meu programa e essa string é o meu comando (iisto deve acontecer em ciclo), por exemplo: "head -10" ou "sort lista" ou outros com variados e diferenciados paramentros.
- dependendo depois do comando lido (o qual seria o argv[0], suponho) então iria tratar e validar os restantes parametros.
 
Pois essa fora a forma como encarei isto de inicio...

No entanto, devido a querer fazer validações dos valores introduzidos, que é o que nao estou a conseguir (penso k por strtok funcionar com base em apontadores).

Dai estar a tentar mudar de estratégia e ter pedido a vossa opinião...
 
wiz_pedro disse:
Pois essa fora a forma como encarei isto de inicio...

No entanto, devido a querer fazer validações dos valores introduzidos, que é o que nao estou a conseguir (penso k por strtok funcionar com base em apontadores).

Dai estar a tentar mudar de estratégia e ter pedido a vossa opinião...

Usas o gets ou scanf dentro de um while(1) por exemplo e dps para se comportar minimamente como uma shell fazes forks para criar novos processos de acordo com o input.
 
axo k já estou num "melhor" caminho.

Estou a usar uma estrutura na qual guardo o numero de parametros do comando inserido e quero agora guardar o valor de cada parametro.

estou a tentar agora...

Brigado por toda a ajuda disponibilizada.
 
usa isto Gengetopt
o Gengetopt gera um .C com base num ficheiro de configuração defenido por ti.. depois é so chamares o ficheiro gerado dentro do teu codigo e ele retorna uma extrutura com tudo perfeitinho, ou seja isto faz o parsing dakilo que entra na lnha de comandos
 
Problema Resolvido

Através de uma estrutura guardo tudo o que necessito para tratar os comandos.
Guardo o numero de parametros dos comandos
mais cada uma dos comandos tratados diferenciadamente para cada situação (questao abordada noutro topico aki do site).

Neste momento já trato todos os comandos apenas com uma funcaozinha k os arruma tal e qual como quero :D

Brigado pelas dicas...
 
Back
Topo