Portál AbcLinuxu, 13. května 2025 20:04

Dotaz: Pristup cifier

25.10.2009 08:46 Cckar
Pristup cifier
Přečteno: 159×
Odpovědět | Admin
Ahojte, chtel bych se zeptat, proc kdyz zapisu do pole cislo pomoci sprintf, nemohu k jednotlivym cifram pristupovat jako k char. Napr: int cislo; sprintf(string, "%d", cislo); printf("%c", string[2]);

String[2] by mala bejt 3 cifra u cisla. Dekuju
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.10.2009 09:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pristup cifier
Odpovědět | | Sbalit | Link | Blokovat | Admin
string[2] by měla být třetí cifra zleva, obvykle se cifry počítají zprava, od nejmenšího řádu. Jinak pokud string je ukazatel na dostatečně dlouhé pole charů a jazyk je C nebo C++, mělo by to podle mne fungovat. Nepíšete, proč nemůžete – já bych řekl, že můžete.
25.10.2009 11:41 Cckar
Rozbalit Rozbalit vše Re: Pristup cifier
#include < stdio.h >
#include < stdlib.h >
int main(){
int cislo=125, i;
char *string[10];
sprintf(string, "%d", cislo);
for(i=0; i < strlen(string); i++) printf("i=%d, cifra[i] je '%c'\n", i, string[i]);
return 0;
}

Vystup:
i=0, cifra[i] je '1'
i=1, cifra[i] je ''
i=2, cifra[i] je '�'
Nechapu to... :(
25.10.2009 11:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pristup cifier
char *string[10];
je podle mne buď ukazatel na pole deseti znaků, nebo pole deseti ukazatelů na znak, ale rozhodně ne pole znaků. Ta hvězdička tam přebývá.
25.10.2009 21:04 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: Pristup cifier
Pole deseti ukazatelu na znak.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.