Форум программистов, компьютерный форум CyberForum.ru

Функция itoa10, без использования библиотек, sprintf и шаблонов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Damaks
18 / 10 / 1
Регистрация: 02.09.2010
Сообщений: 235
20.02.2011, 17:40     Функция itoa10, без использования библиотек, sprintf и шаблонов #1
Нужно реализовать функцию itoa (желательно itoa10)
void itoa(int input, char *buffer, int radix)
itoa принимает передаваемое целое число input и конвертирует его в число в основании корня radix. Полученное число (последовательность цифр основания radix) записывается в буфер вывода buffer.
Проще говоря нужно переводить число в строку, (желательно только по основанию 10) без использования шаблонов, библиотек string или stdlib.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 17:40     Функция itoa10, без использования библиотек, sprintf и шаблонов
Посмотрите здесь:

C++ вывод текста без использования библиотек?
Функция atoi, без использования библиотеки string C++
Преобразование int и double в char без использования sprintf() C++
C++ Реально ли написать программы С++ без использования библиотек ?
Начальное изучение явного подключения библиотек и использования их функций C++
Открыть exe на другой машине, без использования специальных библиотек C++
GUI С++ в eclipse без дополнительных библиотек C++
C++ Работа с хеш таблицами без готовых библиотек

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
20.02.2011, 18:49     Функция itoa10, без использования библиотек, sprintf и шаблонов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
char *itoa(int number, char *destination, int base) {
  int count = 0;
  do {
    int digit = number % base;
    destination[count++] = (digit > 9) ? digit - 10 +'A' : digit + '0';
  } while ((number /= base) != 0);
  destination[count] = '\0';
  int i;
  for (i = 0; i < count / 2; ++i) {
    char symbol = destination[i];
    destination[i] = destination[count - i - 1];
    destination[count - i - 1] = symbol;
  }
  return destination;
}
 
int main(int argc, char *argv[]) {
  char buffer[100];
  printf("%s\n", itoa(0, buffer, 10));
  return 0;
}
Yandex
Объявления
20.02.2011, 18:49     Функция itoa10, без использования библиотек, sprintf и шаблонов
Ответ Создать тему
Опции темы

Текущее время: 09:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru