Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. ИзданиС 3-Π΅, исправлСнноС». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 74

Автор Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½

Π—Π΄Π΅ΡΡŒ ΠΈ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌΠΈ выраТСниями ΠΊΠ°ΠΊ cs<ct Π½Π΅ слСдуСт ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ арифмСтичСскоС сравнСниС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ΡΡ лСксикографичСскоС сравнСниС, Ρ‚. Π΅. cs мСньшС (большС) ct, Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ нСсовпавший элСмСнт Π² cs арифмСтичСски мСньшС (большС) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΈΠ· ct.β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. Ρ€Π΅Π΄.

char *strcpy(s,ct) ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ строку ct Π² строку s, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ '\0'; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s char *strncpy(s,ct,n) ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ n символов строки ct Π² s; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s. ДополняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ символами '\0', Ссли символов Π² ct мСньшС n char *strcat(s,ct) приписываСт ct ΠΊ s; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s char *strncat(s,ct,n) приписываСт Π½Π΅ Π±ΠΎΠ»Π΅Π΅ n символов ct ΠΊ s, Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ s символом '\0'; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s char strcmp(cs,st) сравниваСт cs ΠΈ ct; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ <0, Ссли cs<ct; 0, Ссли cs==ct; ΠΈ >0, Ссли cs>ct (I.B.: Π²ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ int) char strncmp(cs,ct) сравниваСт Π½Π΅ Π±ΠΎΠ»Π΅Π΅ n символов cs ΠΈ ct; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ <0, Ссли cs<ct, 0, Ссли cs==ct, ΠΈ >0, Ссли cs>ct (I.B.: Ρ‚ΠΎΠΆΠ΅ int Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ) char *strchr(cs,c) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ c Π² cs ΠΈΠ»ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ оказалось, NULL char *strrchr(cs,c) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° послСднСС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ c Π² cs ΠΈΠ»ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ оказалось, NULL size_t strspn(cs,ct) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСгмСнта cs, состоящСго ΠΈΠ· символов, входящих Π² строку ct size_t strcspn(cs,ct) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСгмСнта cs, состоящСго ΠΈΠ· символов, Π½Π΅ входящих Π² строку ct char *strpbrk(cs,ct) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² cs Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ совпал с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· символов, входящих Π² ct, ΠΈΠ»ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ оказалось, NULL char *strstr(cs, ct) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ct Π² cs ΠΈΠ»ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ оказалось, NULL size_t strlen(cs) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ cs char * strerror(n) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π·Π°Π²ΠΈΡΡΡ‰ΡƒΡŽ ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ошибки n char * strtok(s, ct) strtok ΠΈΡ‰Π΅Ρ‚ Π² s лСксСму, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ символами ΠΈΠ· ct; Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ см. Π½ΠΈΠΆΠ΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ mem... ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для манипулирования с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊ с массивами символов; ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ - ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ интСрфСйсы ΠΊ эффСктивным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ s ΠΈ t ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Ρ‚ΠΈΠΏΡƒ void *; cs ΠΈ ct - Ρ‚ΠΈΠΏΡƒ const void *; n - Ρ‚ΠΈΠΏΡƒ size_t; Π° c ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° int, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΊ Ρ‚ΠΈΠΏΡƒ char.

void *memcpy(s,ct, n) ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ n символов ΠΈΠ· ct Π² s ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s void *memmove(s,ct,n) Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ memcpy, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π² случаС "ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². int memcmp(cs, ct, n) сравниваСт ΠΏΠ΅Ρ€Π²Ρ‹Π΅ n символов cs ΠΈ ct; Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ функция strcmp void *memchr(cs, c, n) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ символа c Π² cs ΠΈΠ»ΠΈ, Ссли срСди ΠΏΠ΅Ρ€Π²Ρ‹Ρ… n символов c Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠ»ΠΎΡΡŒ, NULL void *memset(s, c, n) Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ символ c Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… n позициях строки s ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s

B4. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: <math.h>

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ <math.h> ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ макросы.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ EDOM ΠΈ ERANGE (находящиСся Π² <errno.h>) Π·Π°Π΄Π°ΡŽΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ нуля цСлочислСнныС константы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для фиксации ошибки области ΠΈ ошибки Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°; HUGE_VAL ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° double. Ошибка области Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° функция. Ѐиксация ошибки области осущСствляСтся присвоСниСм errno значСния EDOM; Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Ошибка Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π² Π²ΠΈΠ΄Π΅ double. Π’ случаС пСрСполнСния функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ HUGE_VAL с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ ΠΈ Π² errno устанавливаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ERANGE. Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ оказываСтся мСньшС, Ρ‡Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΡƒΠ»ΡŒ, Π° устанавливаСтся Π»ΠΈ Π² этом случаС errno Π² ERANGE, зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π”Π°Π»Π΅Π΅ x ΠΈ y ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ double, n - Ρ‚ΠΈΠΏ int, ΠΈ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ значСния Ρ‚ΠΈΠΏΠ° double. Π£Π³Π»Ρ‹ Π² тригономСтричСских функциях Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ….

sin(x) синус x cos(x) косинус x tan(x) тангСнс x asin(x) арксинус x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [-pi/2,pi/2], x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [-1,1] acos(x) арккосинус x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [0, pi], x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [-1,1] atan(x) арктангСнс x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [-pi/2, pi/2] atan2(y,x) арктангСнс y/x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [-pi, pi] sinh(x) гипСрболичСский синус x cosh(x) гипСрболичСский косинус x tanh(x) гипСрболичСский тангСнс x exp(x) Π­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция ex log(x) Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ln(x), x > 0 log10(x) дСсятичный Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ lg(x), x > 0 pow(x,y) xy, ошибка области, Ссли x = 0 ΠΈΠ»ΠΈ y<=0 ΠΈΠ»ΠΈ x<0 ΠΈ y – Π½Π΅ Ρ†Π΅Π»ΠΎΠ΅ sqrt(x) ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ x, x >= 0 ceil(x) наимСньшСС Ρ†Π΅Π»ΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ double, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ мСньшС x floor(x) наибольшСС Ρ†Π΅Π»ΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ double, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ большС x fabs(x) Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ |x| ldexp(x, n) x * 2n frexp(x, int *Π΅xΡ€) Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ x Π½Π° Π΄Π²Π° сомноТитСля, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… - нормализованная Π΄Ρ€ΠΎΠ±ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [1/2, 1), которая возвращаСтся, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ - ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π²ΠΎΠΉΠΊΠΈ, эта ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ запоминаСтся Π² *exp. Если x - Π½ΡƒΠ»ΡŒ, Ρ‚ΠΎ ΠΎΠ±Π΅ части Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ modf(x,double *ip) разбиваСтся Π½Π° Ρ†Π΅Π»ΡƒΡŽ ΠΈ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ части, ΠΎΠ±Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΈ x. ЦСлая Ρ‡Π°ΡΡ‚ΡŒ запоминаСтся Π² *ip, дробная Ρ‡Π°ΡΡ‚ΡŒ выдаСтся ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ fmod(x, y) остаток ΠΎΡ‚ дСлСния x Π½Π° y Π² Π²ΠΈΠ΄Π΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π—Π½Π°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° совпадаСт со Π·Π½Π°ΠΊΠΎΠΌ x. Если y Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

B5. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния: <stdlib.h>

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» <stdlib.h> ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для прСобразования чисСл, запроса памяти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

double atof(const char *s)

atof ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ s Π² double; эквивалСнтна strtod(s, (char**) NULL).

int atoi(const char *s)

atoi ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ s Π² int; эквивалСнтна (int)strtol(s, (char**)NULL, 10).

int atol(const char *s)

atol ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ s Π² long; эквивалСнтна strtol(s, (char**) NULL, 10).

double strtod(const char *s, char **endp)

strtod ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ символы строки s Π² double, игнорируя Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ символы-Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ; Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π΅ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Π΅Ρ† Π² *endp (Ссли endp Π½Π΅ NULL), ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ½Π° Π²Ρ‹Π΄Π°Π΅Ρ‚ HUGE_VAL с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ, Π² случаС, Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ оказываСтся мСньшС, Ρ‡Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, возвращаСтся 0; Π² ΠΎΠ±ΠΎΠΈΡ… случаях Π² errno устанавливаСтся ERANGE.