Galera, tenho umastring(que é char[])
com os seguintes dados: _**1;1;1;1;1.000000;1;1;988888881.**_
Como faço para dividir em várias strings (char[])
quebrando no “;” ?
Galera, tenho umastring(que é char[])
com os seguintes dados: _**1;1;1;1;1.000000;1;1;988888881.**_
Como faço para dividir em várias strings (char[])
quebrando no “;” ?
[code] #include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
char str[] =“1;1;1;1;1.000000;1;1;988888881”;
char * pch;
printf (“A separacao por um delimitador e chamado de split\n”);
pch = strtok (str,";");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, “;”);
}
return 0;
}
[/code]
vamos la
a solução em ANSI C pode ser usando strtok
porém vc tem que tomar alguns cuidados.
primeiro, vc precisa saber que strtok altera a string original. veja se isso é importante pra vc.
segundo, se vc não sabe em compile time quantos elementos vc vai ter apor fazer a partilha da string, vc vai ter que descobrir em runtime , então se vc precisa colocar essas strings em um array (!) vc vai precisar alocar dinamicamente ( com malloc ).
se é pra apenas imprimir, é simples. se vc precisa colocar essas coisas em um vetor, precisa saber malloc/free ou outra mutreta.