Portál AbcLinuxu, 14. května 2025 01:36

Dotaz: Jak pretypovat pole typu char na int

Bundas avatar 23.3.2014 21:41 Bundas | skóre: 14 | Pardubice
Jak pretypovat pole typu char na int
Přečteno: 305×
Odpovědět | Admin
Ahojte vsichni. Hledal sem to na internetu, ale nemuzu to najit.

Nevite nekdo, jak pretypovat pole typu char plne cisel na int? Uvazme, ze to pole ma velikost 10000 a je v nem 10000 cisel, resp. znaku.

diky za pomoc
Abe the Messiah has come.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.3.2014 21:46 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Jak pretypovat pole typu char na int
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdybys alespoň napsal, v jakém jazyku, možná bychom ti pomohli. Nevidím však ani náznak tvé snahy o řešení tvého problému. Kde všude jsi hledal?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jendа avatar 23.3.2014 21:47 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak pretypovat pole typu char na int
Odpovědět | | Sbalit | Link | Blokovat | Admin
Udělat z toho pole intů asi nepůjde jinak než vytvořením pole intů a překopírováním čísel. Ale pokud to potřebuješ jenom pro přístup, tak prostě (int)pole[i].
rADOn avatar 24.3.2014 17:55 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jak pretypovat pole typu char na int
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja bych skoro rekl, ze tady nekdo nechce ani tak pretypovavat, jako spis hromadne na to postvat konverzi z retezce na celocislo.

"2^24 comments ought to be enough for anyone" -- CmdrTaco
24.3.2014 18:41 MadCatX
Rozbalit Rozbalit vše Re: Jak pretypovat pole typu char na int
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak, jak se ptáš to nejde. "char" má na x86 1 byte, "int" na Linuxu/GCC 4 byty. Kdybys udělal
char array[10000];
int* iarray = (int*)array;

int item = iarray[2500];
bude se hodnota do toho "item" číst z paměti za rozsahem toho pole. Jediné čisté řešení IMHO je to zkopírovat.
24.3.2014 23:58 nosko
Rozbalit Rozbalit vše Re: Jak pretypovat pole typu char na int
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neviem ci som spravne pochopil, netestovane, z hlavy ;)
int result = 0;
int length= sizeof(pole/sizeof(char));
for (i=0; i<length; i++) {
  result += result + 10^(length-i-1)*(int)pole[i];
}
Jendа avatar 25.3.2014 00:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak pretypovat pole typu char na int
atoi()?

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.