DarkDucke 0 Denunciar post Postado Janeiro 12, 2008 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
TERRY BOGARD 0 Denunciar post Postado Janeiro 14, 2008 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
omar.pessoa 1 Denunciar post Postado Janeiro 14, 2008 Ola. Você pode estudar a função strtok. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Janeiro 14, 2008 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
quitZAUMMM 18 Denunciar post Postado Janeiro 14, 2008 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
DarkDucke 0 Denunciar post Postado Janeiro 14, 2008 Obrigado gente! consegui fazer a bagaça!!! vlws d+ povão! eh nois! Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Janeiro 15, 2008 Foi nada! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Obrigado gente! consegui fazer a bagaça!!! vlws d+ povão! eh nois! Compartilhar este post Link para o post Compartilhar em outros sites