|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6254
|
[C] Casto long long int
Ciao,
sto cercando di castare una stringa a long long int ma mi va in SIGFAULT nella sprintf Codice:
long long int ram_size; char ram_string[256]; fgets(ram_string, sizeof(ram_string), file_ram_out); sprintf(ram_size, "%ll", ram_string); |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Codice:
long long int ram_size; ... sprintf(ram_size, "%ll", ram_string); Che diavolo stai cercando di combinare?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
sscanf (ram_string, "%Ld", &ram_size);
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6254
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Comunque sprintf è per _creare_ stringhe, non per estrarre aggeggi dalle stringhe. Usa sscanf come ti ha suggerito andbin, oppure strtoll.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Perché sprintf serve per formattare una stringa, non per convertire il contenuto di una stringa in qualcos'altro. L'uso che ne hai fatto, compresi argomenti e specificatore di formato, è sbagliato.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6254
|
Che babbeo. Un errore da dilettanti. Va bè, forse è meglio che stacchi, oggi ho lavorato troppo.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:51.












Che babbeo. Un errore da dilettanti. Va bè, forse è meglio che stacchi, oggi ho lavorato troppo.








