Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Convertitore int to string?
Forum - C/C++ - Convertitore int to string?

Avatar
Dante (Ex-Member)
Newbie


Messaggi: 3
Iscritto: 27/02/2012

Segnala al moderatore
Postato alle 22:09
Lunedì, 27/02/2012

ho provato con la funzione itoa(), ma ecco come la pensano i compilatori:

cc:
Testo quotato

cc main.c -o main
/tmp/cc898HCo.o: In function `scrvfile':
main.c:(.text+0x1aa): undefined reference to `itoa'
main.c:(.text+0x1c7): undefined reference to `itoa'
collect2: ld returned 1 exit status
dante@dante:~/doc$



mentre gcc:
Testo quotato

g++ main.c -o main
In file included from main.c:3:0:
main.c: In function ‘void scrvfile(pnt*)’
main.c:31:25: error: ‘itoa’ was not declared in this scope
dante@dante:~/doc$



ho chiamato la funzione in questa maniera:
Codice sorgente - presumibilmente C/C++

  1. //  ...istr
  2. char buffer[10]; //stringa
  3. itoa(p->x/*puntatore a elemento di struct*/, buffer,10/*non mi è chiaro questo parametro*/);
  4. // ...istr



PM
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 22:22
Lunedì, 27/02/2012
Ciao!
Per utilizzare la funzione itoa ( ) , è necessario invocare l' hader stdlib.h.
In alternativa, si può utilizzare sprintf ( ). Funziona in modo analogo a printf ( ).

Per maggiori chiarimenti:http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/

Ultima modifica effettuata da Poggi Marco il 27/02/2012 alle 22:28
stdlib.h è inclusa eppure l'errore persiste; v'è un modo per far scrivere sprintf, in un file anziché nel stdio? - Dante - 28/02/12 12:36
l'ho detta grossa, sprintf non è più un problema, comunque non capisco perche itoa() non va! - Dante - 28/02/12 12:39
Come è strutturata p? - Poggi Marco - 28/02/12 18:50
typedef struct punto{int x; int y;}pnt; - Dante - 29/02/12 14:37
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 22:33
Lunedì, 27/02/2012
L'ultimo parametro è la base del sistema di numerazione usata. Dato che è un numero in base dieci, questo sarà il parametro.

Se avessi voluto convertire un numero binario, quel parametro sarebbe stato 2.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM