[C/C++] - Concatenar um valor int em uma String [Resolvido]
10 respostas
L
lina
Oi,
Estou começando a desenvolver um programa na linguagem C.
Já fiz varias e varias coisas legais (socket, funcoes, dlls etc…) e agora estou precisando fazer um controle seqüencial utilizando uma variável do tipo int.
Ex:
char *buffer = "quantidade=\"1\"";
Preciso utilizar uma variável int para incrementa-la futuramente:
int ln_qnt = 1;
char *buffer = "quantidade="+ln_qnt+"";
Como fazer?
Eu sei, é uma dúvida simples! O problema é que sou Javeira! rs
A função itoa faz isso para você.
Os parâmetros são:
inteiro, vetor de chars, base
#include<QtCore/QCoreApplication>#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);charbuffer[100];inti=1;itoa(i,buffer,10);//aqui para converter apenas o inteiro em stringintn=sprintf(buffer,"%s%d",buffer,i);// para formatar as strings ou concatenar valores, onde %s(string) %(d) inteiro na base 10returna.exec();}
E
entanglement
Em C normalmente é melhor você usar sprintf (ou seu amigo mais seguro, snprintf ) para fazer esse tipo de conversão. Por exemplo:
Só queria fazer essa concatenação na “tag” quantidade.
Tchauzin!
legal
Oi,
Muito obrigado! Acredito que o itoa funcionaria também!
A idéia de criar um “ponteiro” não foi muito boa. rs
Tchauzin!
postei o caso do itoa ou o contrario “atoi” para quando você precisar converter entre os dois dados.
No caso do ponteiro não existe problema nenhum em utilizá-lo, só se certifique que eles tenham “conteúdo”, ou seu programa vai quebrar.
P
peczenyj
Gostei desta observacao:
itoa() is a non-standard extension, and not guaranteed to be available for all platforms