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

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

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

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

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

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

P.S.: если кто-то знает, дайте плз ссылку, где есть инфа о строковых функциях (типа delete, insert, pos, concat,...).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2009, 16:43     Преобразовать число в строку/строкук в число
Посмотрите здесь:
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. C++
C++ Как преобразовать число в строку
C++ Как строку можно преобразовать в число???
Как преобразовать большое число в строку C++
C++ Как преобразовать шестнадцатеричное число в строку?
C++ Как преобразовать строку цифр в число?
C++ Возможно ли преобразовать в число, строку вида:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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. раз названия знаешь, то или гугля, или хелп
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
09.06.2009, 16:54     Преобразовать число в строку/строкук в число #3
У Шилдта есть все функции, в том числе и строковые. В Справочнике программиста посмотри.
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-мая лаба. Там все функции.
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:06     Преобразовать число в строку/строкук в число #5
если ты пишешь в Си под дос -то етсь на борландовских компиляторах, не вижуалки короче -фенкции етсь
itoa() - числов строку; преобразовывает- int ->char
ltoa() преобразовываетlong->char

в обратные им atoi, atol
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();
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;
}
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
09.06.2009, 17:17     Преобразовать число в строку/строкук в число #8
Цитата Сообщение от ZVolodumur Посмотреть сообщение
К выше сказаному:
В C++ Builder есть IntToStr() и StrToInt();
ну=) что в принципе не сложно обнаружить если знаешь что такие функции в принципе должны быть=)
хвала стандартным библиотекам=)
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 секунд
И нафиг я русский включил, если я его не использую...
Мда..
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;
}
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 17:50     Преобразовать число в строку/строкук в число #11
Обьясните, что это за параметр такой radix ?
Система числения.
Акелла
Сонный металюга
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.... он не понимает откуда ему брать твое значение
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 17:55  [ТС]     Преобразовать число в строку/строкук в число #13
Что такое radix уже сам нашел: система счисления (2<=radix<=36)
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
09.06.2009, 18:03     Преобразовать число в строку/строкук в число #14
Меня вот заинтересовало.. А в этом примере можно сделать с помощью обсуждавшегося ранее union'а или я сейчас бред несу?
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 18:09     Преобразовать число в строку/строкук в число #15
Меня вот заинтересовало.. А в этом примере можно сделать с помощью обсуждавшегося ранее union'а или я сейчас бред несу?
Скорее всего бред...
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 18:16  [ТС]     Преобразовать число в строку/строкук в число #16
Акелла, я пишу, а точнее использую Dev-C++ и там
C++
1
#include <cstdlib>
генерируется само. Я даже не знаю, что это... Но там без ".h".
Цитата Сообщение от Акелла Посмотреть сообщение
он не понимает откуда ему брать твое значение
Т.е. надо вот так?
C++
1
2
i = 555;
    a = (char) *i;
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 18:22     Преобразовать число в строку/строкук в число #17
А i - это указатель ?

Добавлено через 2 минуты 24 секунды
Так, наверное:

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;
}
Добавлено через 1 минуту 24 секунды
А в эту строку:

C++
1
a = (char) i;
Заменить на эту:

C++
1
a = (char*) i;
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 18:24  [ТС]     Преобразовать число в строку/строкук в число #18
Не пашет. "Обнаружена ошибка. Приложение будет закрыто..."
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 18:25     Преобразовать число в строку/строкук в число #19
Ну я же и говорю, замени ее на:

C++
1
a = (char*) i
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2009, 18:28     Преобразовать число в строку/строкук в число
Еще ссылки по теме:
C++ Преобразовать число int в строку прописью char
C++ как преобразовать шестнадцатеричную строку в целое десятичное число
Подскажите, как преобразовать строку с IP адресом в число и обратно C++
C++ Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
C++ Преобразовать строку->число->строку

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

Или воспользуйтесь поиском по форуму:
oler117
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 48
09.06.2009, 18:28  [ТС]     Преобразовать число в строку/строкук в число #20
Не пашет. "Обнаружена ошибка. Приложение будет закрыто..."

Добавлено через 2 минуты 11 секунд
Ладно, а почему здесь результатом есть сначала какие-то три иероглифа, а потом только "555" :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstdlib>
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    unsigned int i;
    char a[3];
    i = 555;
    itoa(i, &a[3], 10);
 
    cout << a << endl;
    system("PAUSE");
    return 0;
}
Yandex
Объявления
09.06.2009, 18:28     Преобразовать число в строку/строкук в число
Ответ Создать тему
Опции темы

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