Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DarkDucke

[Resolvido] Separar string

Recommended Posts

Galera tenho ums string char str[2048] ="FLSKJDFLASDJ#FASDFASDFKASHDF#FKASHDKFASHDKFAHSKDF#----FASDFASDF#ASDLFKJASLKDFJASLDF#"

 

preciso percorrer esta string caracter por caracter até achar o "#" pega o conteudo antes e guardar em outra string

fazer isso até encontrar o fim da string..

o resultado nesta seria:

 

s1 = FLSKJDFLASDJ

s2 = FASDFASDFKASHDF

s3 = FKASHDKFASHDKFAHSKDF

s4 = ----FASDFASDF#ASDLFKJASLKDFJASLDF

 

e depois juntar tudo em uma outra string str2[2048]

com strcat tipo strcat(str2, s1), strcat(str2, s2) etc....

 

já tentei fazer de algumas formas aqui mais nenhum deu o resultado esperado, se alguem puder me ajudar com isto!

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, acho que você deveria pesnsar o problema de outra forma ...

você na verdade quer obter uma string3 que contenha a string2 concatenada com

a string1 excluindo o caractere # da string 1. Não é isso?

Se não for ( entendi errado) volte a postar ok!

Uma possível solução segue abaixo:

CODE
void concatenaStrs (char *str1, char *str2, char *strResult)

{

int i, j;

 

strcpy (strResult, str2);

j = strlen (str2);

 

for (i = 0; i < strlen (str1); i++)

{

if (str1 != '#')

{

strResult[j] = str1;

strResult[j+1] = '\0';

j++;

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para separar voce pode usar a strtok como o amigo acima disse, exemplo:

 

pedaco = strtok (str,"#");
  while (pedaco != NULL)
  {
	printf ("%s\n",pedaco);
	pedaco = strtok (NULL, "#");
  }

Como o objetivo é eliminar os '#'s voce pode fazer como o Terry disse, só não esqueça de zerar a variável j.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhando por outros fóruns na web achei desse jeito:

 

#include <stdio.h>
#include <string.h>
int main(){

char c[]="FLSKJDFLASDJ#FASDFASDFKASHDF#FKASHDKFASHDKFAHSKDF#----FASDFASDF#ASDLFKJASLKDFJASLDF#";
char d[2048];
int x, y;

for(x=0, y=0; x<strlen(c); x++, y++){
if(c[x]=='#'){
x++;
d[y]=c[x];
continue;
}
d[y]=c[x];
}

printf("%s\n", d);
system("pause");
return 0;   
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.