
cidoman
(usa Slackware)
Enviado em 11/10/2007 - 18:55h
Bom, é o seguinte, estou um fazendo uma função que recebe três strings e devolve duas..
int tt_string(char str[], char *cmd[], char *par[])
{
char *pch;
pch=strtok(str," ");
*cmd=pch;
while(pch != NULL){
pch=strtok(NULL," ");
*par=pch;
}
return 0;
}
No caso ela recebe uma string, e divide em comando e parâmetros.. o comando e o parâmetro estão passando por referencia..então na chamada estará:
tt_string(string,&Gcmd,&Gpar);
Até ai tudo bem, o que eu queria fazer era o seguinte, não importando o tamanho da string, ele divide pra mim, e coloca primeira parte em cmd e a segunda, no caso após o " " em par. E caso dê mais de duas strings, devolve erro.. Mas qdo eu divido e coloco em cmd, dá certo. O erro acontece com par, que não tem como, dá Segmentation Fault. Ou seja, resumindo a dúvida, queria fazer uma funçao que recebe uma string, divide em duas, caso dê mais de duas, devolva erro..
Desculpa a pergunta
[*****] e se tiverem idéias melhores do que fazer com esse meu ignóbio código eu agradeço tbm.