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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tumanovalex
3 / 3 / 0
Регистрация: 09.07.2009
Сообщений: 213
#1

Обобщенная функция перевода строки в число - C++

14.08.2014, 21:30. Просмотров 437. Ответов 3
Метки нет (Все метки)

В книге "С++. Сборник рецептов" нашел обобщенную функцию преобразования строки в число:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <sstream>
#include <conio.h>
 
using namespace std;
 
template<typename T>
T strNum(const string& str)
{
  stringstream ss(str);
  T tmp;
  ss >> tmp;
  if (ss.fail())
  {
    string s = "Can`t format  " + str + " in number!";
    cout << s << endl; 
  }
  return tmp;
}
 
int main(int argc, char** argv) 
{
  double d = strNum<double>("300e-5");
  cout << d << endl;
  float f = strNum<float>("345.234");
  cout << f << endl;
  int i = strNum<int>("345.05");
  cout << i << endl;
  int err= strNum<int>("asdf");
  _getch();
  return(EXIT_SUCCESS);
}
Далее в тексте книги говорится, что параметром шаблона можно сделать тип символов. Подскажите, пожалуйста, что автор книги имеет ввиду, что-то я не понял. Проект прикрепляю.
Вложения
Тип файла: zip CppSolution.zip (2.3 Кб, 2 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2014, 21:30     Обобщенная функция перевода строки в число
Посмотрите здесь:
C++ Не работает обобщенная инициализирующая функция для конструкторов
C++ Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’
Функция перевода систем счисления C++
C++ Функция перевода символа в цифру
Функция перевода из Float в Hex C++
Функция перевода из 10-ричной СС в 80-ричную СС C++
Функция перевода из десятичной в двоичную систему C++
C++ рекурсивна функция перевода двоичных цифр в десятичное
C++ Функция перевода из 16-ричной системы счисления в десятичную
Функция для перевода курсора на заданную координату C++
Функция перевода целого числа из десятичной системы в p - ичную C++
C++ Есть ли функция перевода числа в его прописное значение?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
14.08.2014, 21:46     Обобщенная функция перевода строки в число #2
Цитата Сообщение от tumanovalex Посмотреть сообщение
Далее в тексте книги говорится, что параметром шаблона можно сделать тип символов. Подскажите, пожалуйста, что автор книги имеет ввиду, что-то я не понял.
Наверное вот это
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<typename T, typename CharT>
T strNum(const std::basic_string<CharT>& str)
{
    std::basic_stringstream<CharT> ss(str);
    T tmp;
    ss >> tmp;
    if (ss.fail())
    {
        std::cout << "Can`t format number!" << std::endl;
    }
    return tmp;
}
tumanovalex
3 / 3 / 0
Регистрация: 09.07.2009
Сообщений: 213
14.08.2014, 22:45  [ТС]     Обобщенная функция перевода строки в число #3
Спасибо! Как я понял, теперь можно использовать char и wchar. Правильно?
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
14.08.2014, 22:55     Обобщенная функция перевода строки в число #4
Цитата Сообщение от tumanovalex Посмотреть сообщение
Спасибо! Как я понял, теперь можно использовать char и wchar. Правильно?
Именно.
Yandex
Объявления
14.08.2014, 22:55     Обобщенная функция перевода строки в число
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru