Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Д) Перевод строк - массивов char в числа и наоборот



Функции преобразования строки S в число:

целое: int atoi (char *S);

длинное целое: long atol (char *S);

действительное: double atof (char *S);

При ошибке данные функции возвращают значение 0.

Пример:

char s[]="120"; int i;

i=atoi(s); // i=120

Функции преобразования числа V в строку S:

целое: itoa (int V, char *S, int kod);

длинное целое: ltoa (long V, char *S, int kod);

Здесь kod - основание системы счисления, в которой должно быть записано полученное число: 2£ kod £36, для десятичных чисел kod=10.

Пример:

char s[10]; int i=120;

itoa(i, s, 10);

Вместо этих функций, для преобразования чисел в строку и строки в числа можно использовать также функции:

sscanf (char *S, …);

sprintf (char *S, …);

Они во всем подобны функциям scanf и printf, но после их открывающей скобки вначале указывается имя строки, из которой "читаются" (sscanf) или в которую "записываются" (sprintf) значения совершенно так же, как они вводятся с клавиатуры функцией scanf или выводятся на экран функцией printf.

В отличие от функции atoi, sscanf позволяет отличить ошибку ввода от нулевого результата (см. про scanf в теме "Функции ввода-вывода"), например:

char s[20]; int i;

...

if (! sscanf(s, "%d", &i)) puts("Nevernoe chislo!");





Дата публикования: 2014-11-04; Прочитано: 273 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...