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

Alocar Posições de uma string em uma variável


Eduardo Cesar Lenz

Pergunta

Olá colegas, 

 

Meu problema é o seguinte. Estou recebendo os dados através de uma comunicação USART ("microcontrolador"), e ele está chegando em forma de string. 

Por exemplo: Buffer[] = {'1','2','3'}; 

 

Gostaria de armazenar estes dados em uma única variável, da forma: 

unsigned char var = 123; 

tentei fazer desta forma: var = 100*(Buffer[0]) + 10*(Buffer[1]) +  (Buffer[2]);

Porem não obtive êxito, ele me retornava uns valores estranhos. 

Alguém tem alguma ideia de como fazer?

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Sim porque o inteiro 1 e o caractere '1' possuem magnitudes diferentes, porém a sua lógica pode vir a ser corrigida; para corrigir basta fazer a conversão do tipo caractere  da tabela para inteiro.

Buffer[] = {'1','2','3'}; 

/* Declaração */ unsigned char var_uc= 0

/* Declaração */ unsigned char buffer_string[]= "123"; 

/* Conversão */ var_uc100 * ((buffer_string] - '0') + 10 * (buffer_string] - '0') +  (buffer_string] - '0'));

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