Pages: [1]   Go Down
Author Topic: Transformar inteiro em string  (Read 1275 times)
0 Members and 1 Guest are viewing this topic.
Brazil
Offline Offline
Sr. Member
****
Karma: 0
Posts: 381
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pq não consigo transformar o integer em string, onde estou errando devo usar itoa?

int Value1 = 21125; //TODA VARIAVEL RECEBIDA PELA SERIAL TEM  O FORMATO 21xxx  ONDE xxx VARIA DE 0 A 360 EU PRECISO EXTRAIR ESTE   VALOR
sprintf(Value1, "%i", Value); //TRANSFORMA EM STRING
String1 = Value1.substring(2,5); //EXTRAI O VALOR 125 DO INTEIRO IGNORANDO O VALOR 21

error: request for member 'substring' in 'Value1', which is of non-class type 'int'

 smiley-cry
Logged

????????????????????

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3110
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Eu gosto mais de resolver isso assim:
Code:
char resultado[6];
int value1 = 21125;

int angle = Value1%21000; //isto dá 125.
itoa(angle, resultado, 10);

O teu erro é este:

Code:
char Value[6];
...
sprintf(Value, "%i", Value1); // primeiro colocas o array de chars, e colocas o integer depois do formato que queres imprimir.
Logged

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).

Brazil
Offline Offline
Sr. Member
****
Karma: 0
Posts: 381
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Obrigado, estou agora na sala de espera pra fazer um tomografia pois ontem a noite na frente do computador tive um reset (ctrl+alt+del) do meu cerebro, apaguei por um segundo mais ou menos, quando chegar em casa irei testar!

:-)

« Last Edit: June 20, 2012, 04:07:47 pm by Kotch » Logged

????????????????????

Brazil
Offline Offline
Sr. Member
****
Karma: 0
Posts: 381
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Funcionou, mas na realidade deveriá ser assim:
recebo duas variaveis pela serial, uma começa com 21 e mais tres números que vao de 000 ate 360
e a outra começa com 17 e mais dois numeros que vao de 00 a 90 no seguinte formato:17234 2145 17233 2146 17232 2147......
preciso saber pra qual motor enviar estes numero, pois o 21 indica que devo enviar os proximos tres numero pro motor 1
e o 17 indica que devo enviar os próximos dois números para o motor 2
como são números inteiros, pensei em transformar em string pra "pegar" o começo de cada valor e comparar, aí sobra o resto que transformo
de volta pra integer e mando ora pro motor 1 ou para o motor 2.
Alguma idéia?
Obrigado pelo interesse!

 smiley-sad
« Last Edit: June 20, 2012, 04:07:13 pm by Kotch » Logged

????????????????????

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3110
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

não dá para uniformizar os valores que recebes? :S
Logged

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).

Brazil
Offline Offline
Sr. Member
****
Karma: 0
Posts: 381
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nao dá, vem de um programa que nao tenho controle, so leio a serial.
mas pensei o seguinte, acho que vou usar o ascii que vem pela serial, acho que vai ficar mais facil
sempre que vier um 13 é pq mudou, ai fico olhando o proximo char se for 65 significa que vem mais tres ascii e devem ir pro motor um
se for 69 virá mais dois ascii e devem ir pro motor 2, aí é transformar os ascii em char, concatenar, transformar pra integer
e enviar pro motor.
O que acha?

 smiley-cool
« Last Edit: June 20, 2012, 04:52:33 pm by Kotch » Logged

????????????????????

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3110
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Daqui a umas horas vejo isso.

Como recebes em ascii, isso vai ser mais simples de implementar. Depois só tens de meter os valores para uma string e converter. smiley ou então, converter logo mal recebes. Menos memória é usada assim. smiley
Logged

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).

Brazil
Offline Offline
Sr. Member
****
Karma: 0
Posts: 381
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, obrigado!

 smiley-cool
Logged

????????????????????

Pages: [1]   Go Up
Jump to: