Go Down

Topic: Erro concatenação (Read 58 times) previous topic - next topic

Gilliard

Olá a todos.

Eu estou tentando concatenar em minha array uma virgula, mas não estou conseguindo, como eu posso fazer ?

Minha array.

Code: [Select]

int i;

str[i] = '0' + i;


Obrigado

HugoPT

Quote
Eu estou tentando concatenar em minha array uma virgula, mas não estou conseguindo, como eu posso fazer ?
Primeiro de tudo arranjar espaço no teu array.No teu codigo nao especificas a dimensao do array
Quando tiveres espaço adicionas a tua virgura no fim do array.
Code: [Select]


// the setup routine runs once when you press reset:
void setup()
{
char str[4];
str[0] = 'a';
str[1] = 0x2c; //Representa a virgula
str[2] = 'b';
str[3] = '\0'; 
 Serial.begin(9600);
Serial.println(str);
}

void loop()
{


}

Nota que o teu array para ser uma string tens de termina-la correctamente com '\0'
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Gilliard

#2
Dec 16, 2014, 05:43 pm Last Edit: Dec 16, 2014, 05:44 pm by Gilliard
Olá HugoPT.

Primeiramente obrigado pela sua resposta amigo.

Então, eu estou precisando inserir a virgula entre cada numero do laço FOR.

Exemplo

Code: [Select]

int i;

for (i=0; i<10; i++)
     {

       str[i] = '0' + i;

     }

       str[i] = '\0';
 
    Serial.println(str)


Esse código deverá imprimir na serial o seguinte: 1,2,3,4,5,

Como eu posso fazer ?

Obrigado

#3
Dec 16, 2014, 05:56 pm Last Edit: Dec 16, 2014, 05:57 pm by bubulindo
Code: [Select]

int i;

for (i=1; i<10; i++) // o que tu pedes e 1,2,3,4,5,... e nao 0,1,2,3,4,
     {

       str[i] = '0' + i; //gosto deste pormenor...
       i++;
       str[i] =0x2c;
     }



dificil???
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).


luisilva

Eu sugiro ainda outra abordagem. Pegando no exemplo anterior:
Code: [Select]


char str[10];
int i;
int pos = 0;

for (i=0; i<5; i++) // 1,2,3,4,5
     {

       str[pos++] = '0' + i +1; 
       str[pos++] =',';
     }
str[pos] ='\0';


Go Up