Portál AbcLinuxu, 25. dubna 2024 14:46


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
28.3.2017 21:50 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Odpovědět | Sbalit | Link | Blokovat | Admin
long int strtol(const char *str, char **endptr, int base)
Proč vlastně?
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
28.3.2017 22:02 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Funkce nepotřebuje ten string měnit, takže není důvod tam const nedat, aspoň se vyhnete zbytečnému přetypovávání v případě, že potřebujete předat string, který už const je.
28.3.2017 23:13 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Aha divný já měl pocit že mě jednou gcc varovalo že vyžaduje const char * ...
28.3.2017 22:29 dev
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
ze slušnosti.
Bedňa avatar 28.3.2017 23:07 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Je otázka či o toto ešte niekto v 21stročí stojí :)
KERNEL ULTRAS video channel >>>
29.3.2017 11:31 Jardík
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Odpovědět | Sbalit | Link | Blokovat | Admin
U funkce strtol (a příbuzných) je dobré zmínit, že pro správnou detekci selhání je před voláním funkce potřeba nastavit ručně errno na nulu. V opačném případě je jakýkoliv další pokus o zjištění selhání (přetečení) naprosto zbytečná záležitost. U příbuzných unsigned variant (strtoul) bych zmínil, že klidně přijmou záporné číslo a "zkonvertují" ho na kladné (podle pravidla převodu signed na unsigned). Proto je dobré před voláním funkce zkontrolovat první nebílý znak, jestli není mínus.
29.3.2017 11:36 Jardík
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Vidím, že v kódu errno na nulu nastavuješ, stálo by ale za to zmínit to v zápisu.
Josef Kufner avatar 31.3.2017 17:45 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Odpovědět | Sbalit | Link | Blokovat | Admin
Koukni na http://cppreference.com/ a na manuálové stránky (man 3 strtol).
Hello world ! Segmentation fault (core dumped)
6.4.2017 11:25 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Odpovědět | Sbalit | Link | Blokovat | Admin
A čo tak skôr použiť int usleep(useconds_t usec) z unistd.h?
6.4.2017 12:38 sad
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Tato funkce je zastaralá.
11.4.2017 20:54 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Kto povedal? Prečo? ... V unistd.h je stále.
12.4.2017 08:58 sad
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Tak píšou to zde.
6.4.2017 13:36 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Odpovědět | Sbalit | Link | Blokovat | Admin
Štruktúru NUMBERS radšej definuj ako numbers_t. Rob radšej tak. Ak nechapeš, začni čítať iné kody a zmeniš možno názor.

A nedefinuj takto:
NUMBERS n = {{0}, 0};
ale
numbers_t numbers;
// bzero(&numbers, sizeof(numbers_t)); /* keď nenastavuješ všetky prvy v štrukture pri inicializacií v programe */
numbers.array={0};
numbers.num=0;
A parametre funkcie nedefinuj ako typ void, ale ako long *. Nakoľko môžeš pri preklade dať skontrolovať typovú kontrolu. Čo pri void sa stratí.
6.4.2017 13:56 sad
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Díky za tipy.
6.4.2017 14:11 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
"Polymorfizmus" void používaj, keď je potrebné. V Tvojom prípade nie je nutné.
6.4.2017 14:16 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: Funkce strtol a nanosleep (jazyk C)
Ako pre int cmp(const void *p1, const void *p2).

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.