Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
El pic se esta comunicando con la computadora usando para ello el puerto serie
el dato que llega al pic es 50101 necesito dividirlo para después guardarlo de la siguiente manera:
A=50
B=10
c=1
getchar() solo te va a coger un caracter.
No sé si dispones de la funcion gets() , pero sería lo conveniente en tu caso, porque almacena caracteres hasta el caracter de End of Line (EOL). Entonces:
char A;
char *TOTAL;
//o también : char TOTAL[256]; es decir un string lo suficientemente largo como para albergar lo que esperas.
...
...
gets(TOTAL);
// Funciones de manipulación de caracteres individuales:
A = TOTAL[0]; // Eso si A solo va a contener un caracter.
B= TOTAL[1]; // Idem.
Echale un vistazo a las funciones de manipulación de cadenas stdio.h
Slds, Sphinx.
muchas gracias
se podrian tomar dos caracteres haciendo lo siguiente?
gets(TOTAL);
A = TOTAL[0,1];
B = TOTAL[2,3];
Obviamente no. Si has declarado A y B como char, pues SÓLO pueden contener 1 char.
Si las declaras como:
char A[2];
char B[2];
...pues contendrán 2 caracteres cada una.
A la hora de copiar n caracteres del string TOTAL a A o a B, tienes que utilizar alguna función como strcpy() o strncpy(). Míralas en cstring
Intenta mirar a fondo algún manual de C / C++, porque estas preguntas son cuestiones bastante básicas.
Slds,
SPhinx.