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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
djagya
1 / 1 / 0
Регистрация: 30.11.2011
Сообщений: 16
#1

Вытащить число из строки - C++

10.01.2012, 18:42. Просмотров 2296. Ответов 6
Метки нет (Все метки)

Здравствуйте. Как перевести несколько символов char в int?
Например, мне надо перевести набор символов "234". Не понимаю, как можно все это превратить в строку и использовать atoi(). Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 18:42     Вытащить число из строки
Посмотрите здесь:

вытащить числа из строки - C++
имеется строка формата (%d,%d)(%d,%d)(%d,%d)(%d,%d)... которая вводится пользователем с клавиатуры. как извлечь из нее эти числа?

Как вытащить из строки значение? - C++
Есть строка такого вида: подстроки типа "request=3" и "action=11" разделены табуляциями. Как мне получить значение "11" из...

Си-шные строки, как вытащить подстроку - C++
Есть ли для строк типа char*, wchar_t* стандартная функция, которая вытаскивает подстроку, как в классе string.substring(int pos, int...

В двумерном массиве целых чисел добавить строки после строки, содержащей простое число - C++
В двумерном массиве целых чисел добавить строки после строки, содержащей простое число. Новая строка будет заполняться этим простым числом....

В динамической матрице целых чисел добавить строки после строки, содержащей простое число - C++
Помогите написать или хотя бы дайте пару подсказок В двумерном массиве целых чисел добавить строки после строки, содержащей простое...

Массив: Напечатать номер каждой строки, в которой второй элемент меньше среднего арифметического элементов этой строки, и число таких строк. - C++
Дана матрица А(m,n). Напечатать номер каждой строки, в которой второй элемент меньше среднего арифметического элементов этой строки,...

Из строки в число - C++
Как можно преобразовать строку с цифрами в число отдельной функцией, не используя atoi, но пользуясь стандартными библиотеками?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.01.2012, 18:47     Вытащить число из строки #2
C++
1
2
3
4
5
6
#include <sstream>
//...
std::string str("234");
std::stringstream ss(str);
int value;
ss >> value;
djagya
1 / 1 / 0
Регистрация: 30.11.2011
Сообщений: 16
10.01.2012, 18:58  [ТС]     Вытащить число из строки #3
Это будет работать в C? Или только в C++?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.01.2012, 19:04     Вытащить число из строки #4
только в С++, для Си так
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main(void)
{
    const char str[] = "234";
    int value;
    sscanf(str, "%d", &value);
    printf("%d", value);
    return 0;
}
djagya
1 / 1 / 0
Регистрация: 30.11.2011
Сообщений: 16
10.01.2012, 19:17  [ТС]     Вытащить число из строки #5
А если я передаю набор символов как параметр в функцию?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
float intpr_post(char txt[100])
{  
    int i=0;
    while (i < strlen(txt)) 
    {
        if (isdigit(txt[i])) 
        {
            char *t = new char[1];
            t[0]=txt[i];
                i++;
                        stack[mm] = atoi(t);
            mm++;
        }
                i++;
        }
}
В txt находится выражение какое-либо со всякими знаками арифметическими и числами.
Так делал, когда по одному символу вынимал. Догадываюсь, что код корявый, но практических знаний не хватило для правильного кода.
Но теперь нужно вынимать число.

C
1
2
3
4
5
6
7
8
9
10
if (isdigit(txt[i])) 
            {
                while (isdigit(txt[i]))
                { 
                                     ...
                                     i++;
                }
                stack[mm] =  //Число, которое мы получаем, считывая строку
                mm++;
            }
Не знаю, что писать вместо многоточия.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.01.2012, 19:21     Вытащить число из строки #6
djagya, число какое ? целое? с плавающей запятой? с фиксированой запятой? в массиве одно число или несколько разделенных каким либо разделителем?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2012, 08:51     Вытащить число из строки
Еще ссылки по теме:

из строки --> Число - C++
Есть строка &quot;10000111&quot; -&gt; в переменную int b.??????Плизззз

Перевод строки в число - C++
Задание таково: нужно создать функцию, которая переводит строку из чисел типа string в число типа double (строку string нужно! посимвольно...

Преобразования строки в число - C++
Добрый вечер! Знаю, что подобная проблема здесь уже поднималась, однако решение ее я так и не нашел. Суть задачи: ввести сумму используя...

Перевод из строки в число - C++
Извиняюсь, если такая тема уже была. Есть строка s. В ней записано 2 вещественных числа. Нужно оба записать в переменные типа float....

Двоичное число + строки - C++
Определить является ли введенная с клавиатуры строка двоичным числом? Не могу понять как реализовать, помогите плиз..


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

Или воспользуйтесь поиском по форуму:
djagya
1 / 1 / 0
Регистрация: 30.11.2011
Сообщений: 16
11.01.2012, 08:51  [ТС]     Вытащить число из строки #7
Целое.

Добавлено через 23 минуты
В массиве несколько чисел, разделенных арифметическими знаками: + - * /.

Добавлено через 13 часов 5 минут
Ну так как это сделать? Неужели нет универсального способа для C?
Yandex
Объявления
11.01.2012, 08:51     Вытащить число из строки
Ответ Создать тему
Опции темы

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