|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 4
|
[C / Conversione dati] Problema da chr ad int
Riscrivo questo post perchè quello precedente, per una mia disattenzione era stato chiuso, ma soprattutto per ringraziare "ZioSilvio" per l' aiuto che mi ha dato, nonchè per postare la soluzione che potrebbe servire a qualcuno.
Questo era il mio problema: Mettiamo il caso che ho una variabile char * dal nome Temp: Temp = "000102030405060708090A0B0C0D0E0F" Ora avrei bisogno di una funzione che mi converta in array int, in questo modo: Tmp2[0]= 0 Tmp2[1]= 1 Tmp2[2]= 2 Tmp2[3]= 3 Tmp2[4]= 4 Tmp2[5]= 5 Tmp2[6]= 6 Tmp2[7]= 7 Tmp2[8]= 8 Tmp2[9]= 9 Tmp2[10]= 10 Tmp2[11]= 11 Tmp2[12]= 12 Tmp2[13]= 13 Tmp2[14]= 14 Tmp2[15]= 15 In teoria non riesco a prelevare 2 caratteri per volta della variabile Temp e a convertirli in interi. Grazie. Quote:
Codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *Temp;
char h[2];
long tmp[15];
int i;
int main()
{
Temp = "000102030405060708090A0B0C0D0E0F";
for (i=0; i<=15; i++)
{
h[2] = '\0';
strncpy(h, Temp+(i*2),2);
tmp[i] = strtol(h,(char**)NULL,16);
printf("%s\n", h);
}
printf("\n");
for (i=0; i<=15; i++)
{
printf("%d\n", tmp[i]);
}
return 0 ;
}
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F Valori contenuti nell' array tmp[0] a tmp[15] di tipo long; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @ZioSilvio Ho dovuto fare una modifica in questa stringa: strncpy(h,Tmp+2*i,2); con strncpy(h, Temp+(i*2),2); Grazie per l' aiuto. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:20.


















