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

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

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

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

09.06.2009, 16:43. Просмотров 39303. Ответов 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
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
09.06.2009, 16:50 #2
строка объявляется как массив символов
C++
1
2
3
char stroka[50];//строка из 50 симвлов, захочешь объявишь динамически
strcpy(stroka,"qwerty");//забиваем строку
cout<<stroka//пишем строку
другой вариант- юзать string
C++
1
2
3
string stroka;//действия те же
stroka="qwerty";
cout<<stroka;
Добавлено через 39 секунд
Цитата Сообщение от oler117 Посмотреть сообщение
P.S.: если кто-то знает, дайте плз ссылку, где есть инфа о строковых функциях (типа delete, insert, pos, concat,...).
1. читай книжки
2. раз названия знаешь, то или гугля, или хелп
1
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
09.06.2009, 16:54 #3
У Шилдта есть все функции, в том числе и строковые. В Справочнике программиста посмотри.
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 17:05 #4
oler117, Здесь http://politeh.pp.ua/load/24-1-0-115 Или здесь есть http://politeh.pp.ua/load/0-0-0-140-20 - 8-мая лаба. Там все функции.
1
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:06 #5
если ты пишешь в Си под дос -то етсь на борландовских компиляторах, не вижуалки короче -фенкции етсь
itoa() - числов строку; преобразовывает- int ->char
ltoa() преобразовываетlong->char

в обратные им atoi, atol
2
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 17:12 #6
Цитата Сообщение от Акелла Посмотреть сообщение
если ты пишешь в Си под дос -то етсь на борландовских компиляторах, не вижуалки короче -фенкции етсь
itoa() - числов строку; преобразовывает- int ->char
ltoa() преобразовываетlong->char

в обратные им atoi, atol
К выше сказаному:
В C++ Builder есть IntToStr() и StrToInt();
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 17:16 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main(int argc, char * argv [])
{
    int ntest;
    char *wtest;
    char wline[] = "Microsoft"; /* Преобразование этого названия */
    
    ntest = (int)wline;
    printf("Out of line in number: %d\n", ntest);
    wtest = (char*)ntest;
    printf("Out of number in line: %s\n", wtest);
 
    return 0;
}
1
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:17 #8
Цитата Сообщение от ZVolodumur Посмотреть сообщение
К выше сказаному:
В C++ Builder есть IntToStr() и StrToInt();
ну=) что в принципе не сложно обнаружить если знаешь что такие функции в принципе должны быть=)
хвала стандартным библиотекам=)
1
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 17:21 #9
Возможно, ты имел ввиду это...:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <string.h> /* Для strlen */
#include <locale.h> /* Для русского языка */
 
int main(int argc, char * argv [])
{
    setlocale(LC_ALL,"Rus"); /* Для русского языка */
    char wline[] = "Microsoft"; /* Преобразование этого названия */
 
    printf("%d\n", strlen(wline)); /* Покажет сколько символов в слове Microsoft */
 
    return 0;
}
Добавлено через 1 минуту 36 секунд
И нафиг я русский включил, если я его не использую...
Мда..
1
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 17:49  [ТС] #10
В общем об itoa(), atoi() и остальном.... Нашел вот такое:
Код
char* itoa(int value, char* string, int radix);
wchar_t* _itow(int value, wchar_t* string, int radix);
char* ltoa(long value, char* string, int radix);
char* _ltoa(long value, char* string, int radix);
wchar_t* _ltow(long value, wchar_t* string, int radix);
char* ultoa(unsigned long value, char* string, intradix);
wchar_t* _ultow(unsigned long value, wchar_t* string, int radix);
Обьясните, что это за параметр такой radix ?
А есть какой-то универсальный метод преобразования, который будет работать, как, скажем, в Dev-C++ и Borland C++, так и в VisualStudio ?
Почему нельзя (не работает) так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int i;
    char a;
    i = 555;
    a = (char) i;
    cout << a << endl;
    system("PAUSE");
    return 0;
}
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 17:50 #11
Обьясните, что это за параметр такой radix ?
Система числения.
0
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:53 #12
нуу. я лично не знаю на чем вы молодой человек пишите=))) но вроде
C++
1
#include <cstdlib>
нужно дописывать что это библиотченое расширение то етсь
C++
1
#include <cstdlib.h>
а вот тут:
C++
1
2
i = 555;
    a = (char) i;
ты просто делаеш ьпреобразование типов причем неправильно. у тебя i содержит число.. когда ты ег опытаешься присвоить символьной переменной, она ег осчитает кодом какого то символа из таблицы символов ASCII и ищет - но там их всего 256.... он не понимает откуда ему брать твое значение
0
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 17:55  [ТС] #13
Что такое radix уже сам нашел: система счисления (2<=radix<=36)
0
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
09.06.2009, 18:03 #14
Меня вот заинтересовало.. А в этом примере можно сделать с помощью обсуждавшегося ранее union'а или я сейчас бред несу?
0
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 18:09 #15
Меня вот заинтересовало.. А в этом примере можно сделать с помощью обсуждавшегося ранее union'а или я сейчас бред несу?
Скорее всего бред...
0
09.06.2009, 18:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2009, 18:09
Привет! Вот еще темы с ответами:

Возможно ли преобразовать в число, строку вида: - 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 минут как...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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