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

Como "quebrar" uma string?


Edu666

Pergunta

Pessoal, preciso "quebrar" uma string em 3 em C.Estou enviando 3 parâmetros (x,y,z) a um PIC nessa string, tentei dividi-la pelas posições mas não funcionou.

Se envio 123456789 x=123456789, y=456789 e z=789 ou seja, embora tenha definido o tamanho delas como 3 este valor não é respeitado.

Se alguém tiver outra sugestão, é bem-vinda. Posso colocar espaço, vírgula ou qualquer caracter entre os 3 valores, mas preciso que estejam em uma única string.

Segue o código que tentei:

#include <16F877A.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#use delay(clock=20000000)

#use rs232 (baud = 9600, xmit=pin_c6, rcv=pin_c7)

#fuses HS,NOWDT,NOLVP

char val[9];

char x[3],y[3],z[3];

void main() {

printf("Selecione os parametros\n\r");

gets(val);

x[0]=val[0];

x[1]=val[1];

x[2]=val[2];

y[0]=val[3];

y[1]=val[4];

y[2]=val[5];

z[0]=val[6];

z[1]=val[7];

z[2]=val[8];

printf("x é %s \n",x);

printf("y é %s \n",y);

printf("z é %s \n",z);

}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O problema é que faltou o zero no final da string:

#include <16F877A.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#use delay(clock=20000000)
#use rs232 (baud = 9600, xmit=pin_c6, rcv=pin_c7)
#fuses HS,NOWDT,NOLVP

char val[9];
char x[4],y[4],z[4];
void main() {

    printf("Selecione os parametros\n\r");
    gets(val);

    x[0]=val[0];
    x[1]=val[1];
    x[2]=val[2];
    x[3]=0;

    y[0]=val[3];
    y[1]=val[4];
    y[2]=val[5];
    y[3]=0;

    z[0]=val[6];
    z[1]=val[7];
    z[2]=val[8];
    z[3]=0;

    printf("x é %s \n",x);
    printf("y é %s \n",y);
    printf("z é %s \n",z);
}

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,2k
    • Posts
      652k
×
×
  • Criar Novo...