Página 2 de 3 PrimeiroPrimeiro 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Cara.. isso eh bem dificil, no delphi eh facinho ... eu ate tenho o programa (faculdade... hehe) mas, voce teria um certo trabalho.

    funcionaria assim...

    use um laco e encontre a palavra, guarde a posicao dela em um variavel, copie a str1 em um str_auxiliar ate a posicao do vetor onde a palavra foi encontrada, entao voce teria toda a string menos a palavra.

    depois disso de um strcat que vai conectar a str2 na str1, pronto, ai voce tera o resultado que voce quer.. mas ai tem um problema. isso so vai funcionar para as ultimas posicoes.. se for no meio ou no comeco ferrou, voce perde a string toda... bom isso ai jah foi um comecinho ... nao consiguo pensar exatamente... isso ai eh um luz.. bem fraca no fim do tunel <IMG SRC="images/forum/icons/icon_razz.gif"> espero que de para clareaar algumas ideias

  2. Po, foi um verdaderio holofote no fim do tunel, vco ver se consigo fazer essa noite quando voltar da escola...valeu mesmo, se funcionar eu coloco a função aqui... <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif">



  3. Estou de volta pra falar que 90% da missao ja foi concluida, essa funcao abaixo ja funciona, porem só pra strings pequenas, quando as strings ficam grandes ele repete uma parte do meio dela no fim da mesma, se alguem puder me ajudar a arrumar esse problema

    char *str_replace(char *isso, char *porisso, char *nisso){
    int pos,sai,a,b,c,d,e;
    char *antes,*depois,*ok;


    for(a=0;a<strlen(nisso);a++){
    c=a;
    for(b=0;b<strlen(isso);b++){
    if(isso[b]!=nisso[c]){
    sai=1;
    break;
    }
    c++;
    sai=0;
    }
    if(sai!=1){
    ok=malloc(strlen(porisso)+(strlen(nisso)-strlen(isso)));
    antes=malloc(b+1);
    for(d=0;d<(c-strlen(isso));d++){
    antes[d]=nisso[d];
    }
    sprintf(ok,"%s%s",antes,porisso);
    depois=malloc(strlen(nisso)-c);
    for(d=c,e=0;d<strlen(nisso);d++,e++){
    depois[e]=nisso[d];
    }
    sprintf(ok,"%s%s",ok,depois);
    ok=str_replace(isso,porisso,ok);
    return(ok);
    }
    }
    return(nisso);
    }


    // Valeus

  4. Finalmente consegui acabar, ele ja substitui todas as strrings "isso" por "porisso" na variavel "nisso" confira


    char *str_replace(char *isso, char *porisso, char *nisso){
    int pos,sai,a,b,c,d,e;
    char *antes,*depois,*ok;

    for(a=0;a<strlen(nisso);a++){
    c=a;
    for(b=0;b<strlen(isso);b++){
    if(isso[b]!=nisso[c]){
    sai=1;
    break;
    }
    c++;
    sai=0;
    }
    if(sai!=1){
    ok=malloc(strlen(porisso)+(strlen(nisso)-strlen(isso)));
    antes=malloc(b);
    for(d=0;d<(c-strlen(isso));d++){
    antes[d]=nisso[d];
    }
    sprintf(ok,"%s%s",antes,porisso);
    depois=malloc(strlen(nisso)-c);
    for(d=c,e=0;d<strlen(nisso);d++,e++){
    depois[e]=nisso[d];
    }
    depois[e]=&acute;

    [ Esta mensagem foi editada por: SDM em 12-09-2003 11:48 ]



  5. puta ele apagou o que tava depois do "\0", se alguem quizer ver o arquivo clique aqui>>>

    www.sabedeus.hpg.com.br/str_replace.c


    SabeDeus Matrix


    [ Esta mensagem foi editada por: SDM em 12-09-2003 14:34 ]






Tópicos Similares

  1. problemas pra abrir sshd
    Por no fórum Servidores de Rede
    Respostas: 15
    Último Post: 22-01-2003, 16:09
  2. Pra quem mexe com Kylix
    Por Futuremax no fórum Linguagens de Programação
    Respostas: 4
    Último Post: 21-01-2003, 14:36
  3. Parabéns pra Underlinux
    Por serrato no fórum Servidores de Rede
    Respostas: 8
    Último Post: 12-12-2002, 19:52
  4. SLYZ essa e pra vc!
    Por MAJOR no fórum Servidores de Rede
    Respostas: 10
    Último Post: 11-12-2002, 00:08
  5. Respostas: 2
    Último Post: 06-11-2002, 18:51

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L