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.
Pergunta
Edu666
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
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.