brasilma escreveu:Caros colegas, dando continuidade a rotina Printf, preciso de uma ajuda com ponteiros.
Coloquei alguns dados na EEPROM e já estou conseguindo ler, porem gosteria de uma idéia de como limitar a quantidade de dados passadas a rotina Printf via ponteiro.
Explico, normalmente passo o texto a ser impresso no seguinte formato: GLCD_Print("Texto", 5, 1, 0, 0); agora preciso passar apenas um byte, que é que foi lido da EEPROM, estou fazendo assim GLCD_Print(&EE_data2, 5, 1, 0, 0); (EE_data2 é uma variável local que recebe o valor da EEPROM), porem a rotina Printf imprime mais de 1 caractere, ou seja, parece que neste caso o limitador '\0' não funciona.
Como posso fazer para que seja pego apenas o byte???
ueh, se vc quer imprimir exatamente 1 caracter, vc pode usar:
printf("%c", *p);
onde p aponta para uma string, *p aponta para o primeiro byte da string e o formatador %c indica para imprimir apenas 1 unico caractere.