Из библиотеки утилит общего назначения — КиберПедия 

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Из библиотеки утилит общего назначения

2020-05-08 168
Из библиотеки утилит общего назначения 0.00 из 5.00 0 оценок
Заказать работу

Функция atof (рис. 6) преобразует аргумент — строку, которая представляет число с плавающей точкой, — в значение типа double и возвращает значение типа double. Если аргумент функции не может быть преобразован — например, если первый символ строки не является цифрой, — поведение функции atof не определено.

/* Применение atof */

#include <stdio.h>

#include <stdlib.h>

main(){

 double d;

d = atof ("99.0");

printf ("%s%.3f\n%s%.3f\n", "The string \"99.0\" converted to double is ", d, "The converted value divided by 2 is ", d / 2.0);

return 0;}

 

Вывод на экран

The string "99.0" converted to double is 99.000 The converted value divided by 2 is 49.500

Рис. 6. Применение atof

 

Функция atoi (рис. 7) преобразует аргумент — строку цифр, которая представляет целое число, — в значение типа int и возвращает значение типа int. Если аргумент функции не может быть преобразован, то поведение функции atoi не определено.

 

/* Применение atoi */

#include <stdio.h>

#include <stdlib.h>

main() {

int i;

i = atoi ("2593");

printf ("%s%d\n%s%d\n", "The string \”", 2593, “\” converted to int is ", i);

printf ("%s%d\”,"The converted value minus 593 is ", i - 593);

return 0;

}

 

Вывод на экран

The string "2593" converted to int is 2593

The converted value minus 593 is 2000

Рис. 7. Применение atoi

Функция atoi (рис. 8) преобразует аргумент — строку цифр, которая представляет число типа длинное целое, — в значение типа long и возвращает значение типа long. Если аргумент функции не может быть преобразован, то поведение функции atoi не определено. Если для хранения типа int и типа long используются 4 байта, то функции atoi и atoi работают идентично.

/* Применение atoi */

#include <stdio.h>

#include <stdlib.h>

main°() {

long l;

l = atoi("1000000");

printf("%s%ld\n%s%ld\n", "The string /””,' 1000000,”/”converted to long int is ", l);

printf("%s%ld “,”The converted value divided by 2 is ", 1 / 2);

return 0;

}

 

Вывод на экран

The string "1000000" converted to long int is 1000000

The converted value divided by 2 is 500000

Рис. 8. Применение atoi

Функция strtod (рис. 9) преобразует последовательность символов, представляющих число с плавающей точкой, в значение типа double. Эта функция имеет два аргумента: строку (char *) и указатель строки. Строка содержит последовательность символов, которые должны быть преобразованы в тип double. Указателю присваивается адрес символа, который является первым символом строки-остатка после преобразования части строки. Оператор

d = strtod (string, &stringPtr);

(рис. 9) означает, что d присваивается значение типа double, полученное после преобразования строки string, a stringPtr будет указывать на первый символ (%) после преобразования значения (51.2) из string.

/* Применение strtod */

#include <stdio.h>

#include <stdlib.h>

main () {

double d;

char *string = "51.2% are admitted";

char *stringPtr;

d = strtod(string, &stringPtr);

printf("The string \"%s\" is converted to the \n", string);

printf("double value %.2f and the string \"%s\"\n", d, stringPtr);

return 0; }

 

Вывод на экран

The string "51.2% are admitted" is converted to the double value 51.20 and the string "% are admitted"

Рис. 9. Применение strtod

Функция strtol (рис. 10) преобразует последовательность символов, представляющих целое число, в значение типа long. Эта функция имеет три аргумента: строку (char *), указатель строки и целое число. Строка содержит последовательность символов, которые должны быть преобразованы. Указателю присваивается адрес символа, который является первым символом строки-остатка после преобразования части строки. Целое число определяет основание, по которому производится преобразование. Оператор

х = strtol (string, &remainderPtr, 0);

из программы рис. 10 означает, что х присваивается значение типа long, полученное после преобразования строки string. Второй аргумент — remainderPtr — после преобразования будет указывать на остаток строки. Если для второго аргумента использовать значение NULL, то строка-остаток будет проигнорирована. Третий аргумент — 0 — показывает, что преобразуемое значение может иметь восьмеричный (основание 8), десятичный (основание 10) или шестнадцатеричный формат (основание 16). Основание может иметь значение 0 или может быть любым значением в диапазоне от 2 до 36. Для численного представления целых значений от 11 до 35 в диапазоне оснований от 11 до 36 используются символы A-Z. Например, шестнадцатеричное число может содержать цифры 0-9 и символы A-F. Целые по основанию 11 могут содержать цифры 0-9 и символ А. Целые по основанию 24 могут содержать цифры 0-9 и символы A-N. Целые по основанию 36 могут содержать цифры 0-9 и символы A-Z.

 

/* Применение strtol */

#include <stdio.h>

#include.<stdlib.h>

main()

{

long x;

char *string = "-1234567abc", *remainderPtr;

x = strtol (string, sremainderPtr, 0);

printf ("%s\"%s\"\n%s%ld\n%s\"%s\"\n%s%ld\n",

"The original string is ", string,

"The converted value is ", x,

"The remainder of the original string is ",

remainderPtr,

"The converted value plus 567 is ", x + 567);

return 0;

}

 

Вывод на экран

The original string is "-1234567abc"

The converted value is -1234567

The remainder of the original string is "abc"

The converted value plus 567 is -1234000

Рис. 10. Применение strtol

Функция strtoul преобразует последовательность символов, представляющую целое типа unsigned long, в значение типа unsigned long. Эта функция работает аналогично функции strtol. Оператор

х = strtoul (string, &remainderPtr, 0);

из программы рис. 11 означает, что х присваивается значение unsigned long, полученное после преобразования string. Второй аргумент, &remainderPtr, после преобразования указывает на остаток string. Третий аргумент — 0 — показывает, что преобразуемое значение может иметь восьмеричный, десятичный или шестнадцатеричный формат.

/* Применение strtoul */

#include <stdio.h>

#include <stdlib.h>

main ()

{

unsigned long x;

char *string = "1234567abc", *remainderPtr;

x = strtoul (string, &remainderPtr, 0);

printf ("%s\"%s\"\n%s%lu\n%s\"%s\"\n%s%lu\n",

"The original string is ", string,

"The converted value is ", x,

"The remainder of the original string is ",

remainderPtr,

"The converted value minus 567 is ", x - 567);

return 0;

}

 

 

Вывод на экран

The original string is "1234567abc"

The converted value is 1234567

The remainder of the original string is "abc"

The converted value minus 567 is 1234000

Рис. 11. Применение strtoul

 


Поделиться с друзьями:

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.