Agora eh a vez do explode();
Bom, passada a fase do str_replace agora meu problema eh o explode do php, que novamente eu preciso fazer em C, pra quem nao sabe o explode do php faz o seguinte:
$broke=explode("atirei o pau no gato mais o gato nao morreu","o");
//Entao a variavel $broke passaria a ser um vetor, ou matriz, chame como quizer
resumidamente $broke ficaria da seguinte forma:
$broke[1] == "atirei o"
$broke[2] == " pau no"
$broke[3] == " gato"
...
e assim sucessivamente....
e para complicar a vida de meus companheiros eu preciso fazer isso em C, mas soh sei que a funcao basica vai ser a strtok, e o meu maior problema eh que eu num sei como retornar vetores, so sei retornar ponteiros....
Agora eh a vez do explode();
Alguem se habilita a me ajudar??? nem que seja só com uma ideia como fizeram da outra vez com o str_replace????
Agora eh a vez do explode();
Tudo bem, SDM
eu só conhecia a função strtok só de ouvir falar. Mas quando vi o seu caso resolvi ler sobre ela. Pelo q vc disse acho q não vai ter problemas com strtok pois ela é bem parecida com o explode() do PHP. Um exemplo de uso q peguei na Web:
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="This is a sample string,just testing.";
char * pch;
printf ("Splitting string \"%s\" in tokens:\n",str);
pch = strtok (str," ");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.");
}
return 0;
}
SAÍDA:
Splitting string "This is a sample string,just testing." in tokens:
This
is
a
sample
string
just
testing
Espero ter ajudado,
fricardo
[ Esta mensagem foi editada por: fricardo em 23-09-2003 11:39 ]
[ Esta mensagem foi editada por: fricardo em 23-09-2003 11:41 ]
Agora eh a vez do explode();
Grande rapaz!!!! eh exatamente isso q eu queria, mas, vc sabe como eh que eu faria pra retornar um vetor de vetores, pra retornar de uma funcao por exemplo:
vet[1]=="Atirei"
vet[2]=="o"
...
vet[n]=="morreu"
Agora eh a vez do explode();
SDM,
consegui modificar o programa que postei antes para os valores quebrados por strtok() sejam retornados num vetor. Código abaixo:
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="This, is a sample string just testing.";
char * pch;
char *saida[20];
int i;
printf ("Splitting string \"%s\" in tokens:\n",str);
saida[0] = strtok (str," ");
i=1;
while (saida[i-1] != NULL)
{
printf ("saida[%d] = %s\n",i-1,saida[i-1]);
saida[i] = strtok (NULL, " ,.");
i++;
}
return 0;
}
****** SAIDA ********
Splitting string "This, is a sample string just testing." in tokens:
saida[0] = This,
saida[1] = is
saida[2] = a
saida[3] = sample
saida[4] = string
saida[5] = just
saida[6] = testing
Espero que lhe ajude,
fricardo