Ir para conteúdo
Fórum Script Brasil
  • 0

COMO DIVIDIR UM STRINGÃO EM PEQUENOS STRINGS EM C


diegorpontes

Pergunta

Peços desculpas se já houver tópico sobre minha pergunta, mas não consegui encontrar um, se alguém poder me ajudar.

Eu tenho um "strigão" como por exemplo PAULO JOSE RICARO, gostaria de dividir esses tres nomes para poder fazer um strcmpi com outra string, mas não consigo dividir, alguém poderia me ajudar.

Desde já, sou grato pela atenção.

PS: Fazer essa divisão em "C"

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Opa,

Então eu quero fazer em C o que o split ou o tokenizer faz com a string, de quebrar a string, em c eu não to dando conta de fazer.

é o seguinte eu tenho um string: HOJE E DOMIGO E AMANHA E SEGUNDA

eu quero quebrar a string em palavras

1 - HOJE

2 - E

3 - DOMINGO

4 - E

5 - AMANHA

6 - E

7 - SEGUNDA.

Quebrar a string no espaços.

Brigadão ae

Abrasss

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Diego,

Existem várias maneiras de fazer isso em C, vou sugerir duas.

Se tiver problemas é só falar.

Abs

// OPCAO 1
int p = 0;// guarda a posicao inicial da palavra
for(int i = 0; i < strlen(stringao); i++)
   {
   if (stringao[i] == ' ')
    {
    // ACHEI UMA PALAVRA - FAZ O QUE FOR PRECISO
    p = i + 1; // posicao inicial da possivel proxima palavra
    }

   }


// OPCAO 2

char *pInicial = stringao;
char *pFinal;
do
   {
   pFinal = strchr(stringao, ' ');
   if (pFinal != NULL)
    {
    // ACHEI UMA PALAVRA - FAZ O QUE FOR PRECISO
    pInicial = pFinal + 1; // posicao inicial da possivel proxima palavra
    }
   } while (pFinal != NULL);

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tenho uma 3ª com a função sscanf()!

O função sscanf quando detecta um espaço na string, declara a string como encerrada!

#include <stdio.h>
#include <stdlib.h>
#define MAX_NOME 30

int main(int argc,char **argv)
{
  char nome[]="PAULO JOSE RICARO";
  char nomes[3][MAX_NOME];
  sscanf(nome,"%s %s %s",nomes[0],nomes[1],nomes[2]);
  puts(nomes[0]);
  puts(nomes[1]);
  puts(nomes[2]);
  system("PAUSE");
  return EXIT_SUCCESS;
}

Editado por bruce845
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...