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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 300, средняя оценка - 5.00
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
#1

Преобразовать число в строку/строкук в число - C++

09.06.2009, 16:43. Просмотров 39034. Ответов 42
Метки нет (Все метки)

Обьясните, как преобразововать число в строку и наоборот. Искал в гугле, но конкретного ответа так и не получил (все, что узнал, что есть много методов и все они плохие ).
И еще одно... Как вообще обьявляется строка, а не символ??? Как обьявить переменную, которой можно присвоить "qwerty" и получить при выводе "qwerty", а не "q"?!

P.S.: если кто-то знает, дайте плз ссылку, где есть инфа о строковых функциях (типа delete, insert, pos, concat,...).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2009, 16:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать число в строку/строкук в число (C++):

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Как преобразовать число в строку - C++
Здравствуйте! У меня такой вопрос: Нужно выводить на экран числа.Функция принимает указатель на строку Font->DrawTextA(NULL, ...

Как строку можно преобразовать в число??? - C++
Написать функцию, которая анализирует заданную строку и возвращает: · 1, если строка представляет собой запись целого числа; · 2 — если...

Как преобразовать строку цифр в число? - C++
Как преобразовать строку цифр в число?

Как преобразовать большое число в строку - C++
Делаю такое преобраование char szbuff; double X=3292373930; sprintf(szbuff, "%g", X); string X_str=szbuff; В результате...

Как преобразовать шестнадцатеричное число в строку? - C++
как записать в строку шестнадцатеричное число? например 111111111 в основании 16 в строке должно выглядеть как 4581298449 в основании 10

42
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 19:25 #31
А разве не должно быть strchr(ch, '7')!=NULL вместо strchr(ch, "7")!=NULL !?!?!
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 19:38 #32
Ты же искать собрался один символ. А когда ищешь один символ, нужно его брать в такие ковычки ' '. А вот, если бы ты, к примеру, записал такую функцию:

C++
1
strstr(ch, "7");
То это было бы синтаксически правильно и работаспособно ! Т.к ищется подстрока... А строки помещают в такие ковычки " ".

Надеюсь, я понятно излогаю)
0
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 19:51  [ТС] #33
Цитата Сообщение от Акелла Посмотреть сообщение
заключи 7 в одинарные кавычки -может поможет?=)
Спасибо! Помогло =)
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 19:52 #34
А когда в одинарных, эт типа константа?
когда в одинарных, эт типа символ.
сhar a='1'; - символ
сhar *b="12345"; - строка
0
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 20:34  [ТС] #35
Извините форумчане, что я нуб в этом, но что делать если мне заранне неизвестна длина строки, и нужно выполить преобразование из числа (введенного с клавиатуры) в строку?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int n;
    // char ch[?];
    cout << "Enter N>99 : ";
    cin >> n;
    // itoa(i,ch,10);
    cout << ch << endl;
    system("PAUSE");
    return 0;
}
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 20:39 #36
Извините форумчане, что я нуб в этом, но что делать если мне заранне неизвестна длина строки, и нужно выполить преобразование из числа (введенного с клавиатуры) в строку?
Можно заранее зарезервировать больше памяти под строку...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int n;
    char ch[100];
    cout << "Enter N>99 : ";
    cin >> n;
    itoa(n,ch,10);
    cout << ch << endl;
    system("PAUSE");
    return 0;
}
0
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 20:52  [ТС] #37
Да это я и сам знаю, но вроде это считается нехорошо лишнюю память выделять.
Если другого метода нет, то... придется.
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 20:53 #38
Да это я и сам знаю, но вроде это считается нехорошо лишнюю память выделять.
Если другого метода нет, то... придется.
Можно сделать динамический масив, тоись указатиль на строку...

Пробуй так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int n;
    char *ch;
    cout << "Enter N>99 : ";
    cin >> n;
    itoa(n,ch,10);
    cout << ch << endl;
    system("PAUSE");
    return 0;
}
0
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 21:08  [ТС] #39
Пробовал. После ввода строки вылетает "Обнаружена ошибка. Приложение будет закрыто....... и т.д........"
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 21:12 #40
Пробовал. После ввода строки вылетает "Обнаружена ошибка. Приложение будет закрыто....... и т.д........"
А так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int n;
    cout << "Enter N>99 : ";
    cin >> n;
    //здесь надо вычеслить сколько n занимает символов...
    char *ch=new char[количество];
    itoa(n,ch,10);
    cout << ch << endl;
    system("PAUSE");
    free(ch);
    return 0;
}
Но тут еще надо будет щитать сколько число символов занимает...
0
nurlanrezak
1 / 1 / 0
Регистрация: 25.04.2009
Сообщений: 8
09.06.2009, 21:27 #41
[QUOTE=oler117;187823]Обьясните, как преобразововать число в строку и наоборот.

Вот для строки :
int i = Int.Parse(STROKA);
или
int i = Convert.ToInt32(STROKA);

Вот для чисел
int chislo = 364375;

string STROKA = chislo.ToString();
0
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 22:21  [ТС] #42
Какую надо библу включить, что-бы ToString() работал ("ToString has not been declared") ?

Добавлено через 2 минуты 52 секунды
В общем, кому интересно, сделал вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int n;
    cout << "Enter N>99 : ";
    cin >> n;
    unsigned int i=1000000000;
    unsigned int k=0;
    while (floor(n/i)==0) {
          i/=10;
          k++;
    };
    char *ch= new char[10-k];
    cout << endl << "N has " << n/100 << " hundreds and " <<
    10-k << " signes." << endl;
    system("PAUSE");
    return 0;
}
0
Alinochka
3 / 3 / 1
Регистрация: 06.12.2009
Сообщений: 46
08.12.2009, 13:48 #43
Вот у меня тоже такая проблема и я не поняла что вы тут понаписали... чтобы преобразовать строку в число нужна эта команда чтоли - char wline[]???
у меня такое задание:
Написать функцию, которая анализирует заданную строку и возвращает:
· 1, если строка представляет собой запись целого числа;
· 2 — если вещественного числа (с ненулевой дробной частью);
· 0 - если строку нельзя преобразовать в число;
вот самая проблема в преобразовании строки в число и потом как определить целое это число или нет? или вообще нельзя преобразовать строку в число? от чего это зависит???
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2009, 13:48
Привет! Вот еще темы с ответами:

Возможно ли преобразовать в число, строку вида: - C++
Если дана строка, например, (1+4+5+7), она может быть преобразована в число?

Преобразовать число int в строку прописью char - C++
Например, вводим 40, 3 должно выдать sorok rubley tridcat kopeek. Пересмотрел много задач с похожей тематикой, но во-первых, ни одна не...

Подскажите, как преобразовать строку с IP адресом в число и обратно - C++
Есть IP адрес в std::string &quot;192.168.1.1&quot;, нужно преобразовать его в число, а IP адрес числом преобразовать обратно, не используя сторонних...

как преобразовать шестнадцатеричную строку в целое десятичное число - C++
как преобразовать данную шестнадцатеричную строку в целое десятичное число (ни как не могу понять) Добавлено через 10 минут как...


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

Или воспользуйтесь поиском по форуму:
43
Yandex
Объявления
08.12.2009, 13:48
Ответ Создать тему
Опции темы

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