Olá pessoal tudo bem?
Estou tentando concatenar 3 tipos de dados diferentes, int, char e float, int e char eu consigo sem problemas, mas no caso do float não funciona, até consegui alguma coisa só que as casas decimais do float depois da virgula não aparecem. Se puderem me ajudar agradeço muito.
Quando você define uma variável, você define a área ocupada, a maneira que o processador vai lidar com ela e o tempo de criação dessa variável, isso tudo vai parar dentro de um dicionario de variáveis que o compilador usa para montar o código, os compiladores de dois passos criam isso no primeiro passo e usam para montar o código no segundo, geralmente são mais eficientes e o de um passo tentam fazer isso tudo de uma vez, por exemplo:
uma int tem 8 bits e não usa terminador "\0";
uma string tem tamanho definido pelo usuário e usa um terminador "\0"
e por ai vai,
Se você atribui a uma int um float o que o compilador vai fazer só Deus sabe......
Uma maneira mais elegante de se lidar com isso é através de struct de uma olhada no exemplo abaixo:
#include #include
using namespace std;
struct data {
int dia;
int mes;
int ano;
};
int main (void){
data hoje;
hoje.dia = 23;
hoje.mes = 9;
hoje.ano = 2008;
cout <<"Hoje e "<<hoje.dia<<"/"<<hoje.mes<<"/"<<hoje.ano<<endl;
system ("pause");
return EXIT_SUCCESS;
}
Veja que a struct é um modelo somente, os dados foram fisicamente criados quanto foi dado o comando data hoje, embora possam ser criados na definição da struct tambem
Obrigado pela dica, em relação ao separador a minha intensão é concatenar a "," para separar os dados para serem impressos todos de uma vez que serão recebidos por outro programa, bom a ideia é essa.
Serial.print(n_cocho); //1, 1FI4566WD3, 30.45