|
Программирование >> Структурное программирование
Рис. 16.19. Использование функций isspace, iscntrl, ispunct, isprint и isgraph (часть 1 из 2) $, #, (,),[,].{,}, ;, :, % и т.д. Функция isprint определяет, является ли ее аргумент печатным символом, который может быть отображен на экране (включая символ пробела). Функция isgraph осуществляет ту же проверку, что и isprint, исключая пробел. Использование функций isspace, iscntrl, ispunct, isprint, isgraph #include <iostream.h> iinclude <ctype.h> main() { cout << Согласно isspace: << endl Новая строка (isspaceС\n ) ? является : не является ) << символом разделителем endl << Горизонтальная табуляция (isspaceС\t ) ? является : не является ) символом разделителем endl (isspaceС% ) ? % является : % не является ) << символом разделителем << endl; cout << endl << Согласно iscntrl: << endl Новая строка (iscntrlС\n ) ? является : не является ) << управляющим символом << endl (iscntrlС$ ) ? $ является : $ не является ) управляющим символом endl; cout << endl << Согласно ispunct: << endl (ispunctC; ) ? ; является : ; не является ) символом пунктуации endl (ispunctС У ) ? Y является : Y не является ) << символом пунктуации << endl (ispunctС# ) ? # является : # не является ) << символом пунктуации << endl; cout endl Согласно isprint: endl << (isprintС$ ) ? $ является : $ не является ) печатным символом << endl Звуковой сигнал (isprintС\а ) ? является : не является ) << печатным символом << endl; cout endl Согласно isgraph: endl (isgraphCQ ) ? Q является : Q не является ) << печатным символом, отличным от пробела endl Пробел (isgraphС ) ? является : не является ) << печатным символом, отличным от пробела << endl; return 0; 16.10. функции преобразования строк в главе 5 мы обсудили несколько наиболее популярных функций языка С-Ы- для операций с символьными строками. В нескольких следующих разделах мы рассмотрим другие такие функции, включая функции преобразования строк в численные значения, функции поиска в строках и функции копирования, сравнения и поиска блоков памяти. В этом разделе рассматриваются функции преобразования строк из библиотеки утилит общего назначения (stdlib). Эти функции преобразуют строки цифр в целые значения или в значения с плавающей запятой. На рис. 16.20 приведены краткие сведения по этим функциям. Обратите внимание на использование const для объявления переменной nPtr в заголовках функций (читается справа налево как nPtr является указателем на символьную константу ); const объявляет, что значение аргумента не будет модифицировано. При использовании библиотеки утилит общего назначения вы должны убедиться, что в программу включен заголовочный файл <stdlib.h>. Функция atof (рис. 16.21) преобразует свой аргумент - строку, которая представляет собой число с плавающей запятой, в значение типа double. Эта функция возвращает значение типа double. Если преобразование невозможно, например, если первый символ строки не является цифрой, то поведение функции atof не определено. Функция atoi преобразует свой аргумент - строку цифр, которая представляет собой целое, в значение типа int. Если преобразование невозможно, то поведение функции atoi не определено. Согласно isspace: Новая строка является символом разделителем Горизонтальная табуляция является символом разделителем % не является символом разделителем Согласно iscntrl: Новая строка является управляющим символом $ не является управляющим символом Согласно ispunct: ; является символом пунктуации Y не является символом пунктуации # является символом пунктуации Согласно isprint: $ является печатным символом Звуковой сигнгш не является печатным символом Согласно isgraph: Q является печатным символом, отличным от пробела Пробел не является печатным символом, отличным от пробела Рис. 16.19. Использование функций isspace, iscntrl, ispunct, isprint и isgraph (часть 2 из 2) Прототип функции Описание функции double atof (const char *nPtr) Преобразует ароку nPtr в число типа double, int atoi (const char *nPtr) Преобразует строку nPtr в ЧИСЛО типа Int. long atoi (const char *nPtr) Преобразует строку nPtr в ЧИСЛО типа long int. double strtod(const *nPtr, char **endPtr) Преобразует строку nPtr в число типа double. long strtol(const char *nPtr, char **endPtr, int base) Преобразует строку nPtr в число типа long. unsigned long strtoul(const char *nPtr, char **andPtr, int base) Преобразует строку nPtr в число типа unsigned long. Рис. 16.20. Функции преобразования строк из библиотеки утилит общего назначения Использование atof tinclude <iostream.h> #include <stdlib.h> main 0 { double d = atof( 99.0 ); cout << Строка \ 99.0\ преобразуется << в значение типа double, равное << d << \пПреобразованное значение, деленное на 2, равно (d/2.0) endl; return 0; Строка 99.0 преобразуется в значение типа double, равное 99 Преобразованное значение, деленное на 2, равно 49.5 Рис. 16.21. Использование функции atof Использование atoi tinclude <iostream.h> tinclude <stdlib.h> int i = atoi( 2593 ); cout Строка \ 2593\ преобразуется << в значение типа int, равное << i \пПреобразованное значение минус 593 равно (i - 593) endl; return 0; Строка 2593 преобразуется в значение типа int, равное 2593 Преобразованное значение минус 593 равно 2000 Рис. 16.22. Использование функции atoi
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |