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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.68
AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
#1

Перевод из int в char - C++

17.01.2012, 20:36. Просмотров 3567. Ответов 6
Метки нет (Все метки)

Пытаюсь перевести число int в строку char. На экран постоянно выводит какие-то иероглифы.
Не могли бы вы ОБЪЯСНИТЬ почему так?
Код мое проги:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
void main()
{
    char str[22];
    int n,q=0,ost;
    printf("vvedite chislo\n");
    scanf("%d",&n);
    for(int i=n;i!=0;)
    {
        i=i/10;
        q++;
    }
    printf("q=%d\n",q);
    for(q;n!=0;--q)
    {
        ost=n%10;
        n=n/10;
        str[q]=ost+'0';
        printf("%s\nost=%d\n",&str[q],ost);
    }
    puts("Vivod massiva");
    puts(str);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2012, 20:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод из int в char (C++):

Перевод char в int - C++
Доброго времени суток, форумчане:senor:. Начинаю углубляться с++ вместе с заданием по курсовой:) Проблема: Имеется структура, ...

Перевод из char в int - C++
нужно перевести из char в int, способ перевода следующий: &quot;значение цифры равно значению ее символа в таблице символов компьютера...

Перевод из char в int - C++
Подскажите пожалуйста! У меня имеется массив символов, то бишь строка. Я хочу преобразовывать каждый символ строки в int. Int k; ...

Перевод char в int - C++
Доброго времени суток. покопался по схожим темам,но так и не нашёл ответа. На вводе с клвиатуры подаётся char-овский массив сстоящийиз...

Перевод *char в int[] c++ - C++
Нужно перевести длинное число которое хранится в виде &quot;+/-324354365654656&quot; в char* в массив int. Нулевой элемент массива знак. Как...

Массив char + перевод в int - C++
Нужно создать цикл в котором при вводе с клавиатуры символа в 16ричной системе (0-F) это число: 1. Переводилось в 10-ю систему счисления,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NoMasters
Псевдослучайный
1754 / 1097 / 72
Регистрация: 13.09.2011
Сообщений: 3,134
17.01.2012, 20:43 #2
Концом строки считается нулевой символ.
0
K1m
9 / 9 / 1
Регистрация: 02.01.2012
Сообщений: 169
17.01.2012, 20:45 #3
То есть '\0'
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
17.01.2012, 22:18 #4
man sprintf
0
AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
18.01.2012, 00:13  [ТС] #5
Спасибо конечно, но можно ли как-нибудь на примере поправки моего кода увидеть?)
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
18.01.2012, 00:20 #6
Цитата Сообщение от AfoTax Посмотреть сообщение
можно ли как-нибудь на примере поправки моего кода увидеть?
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
33
#include<stdio.h>
 
/*void main()*/
int main(void)
{
        char str[22];
        int n /*,q=0,ost */;
        /*
        printf("vvedite chislo\n");
        scanf("%d",&n);
        for(int i=n;i!=0;)
        {
                i=i/10;
                q++;
        }
        printf("q=%d\n",q);
        for(q;n!=0;--q)
        {
                ost=n%10;
                n=n/10;
                str[q]=ost+'0';
                printf("%s\nost=%d\n",&str[q],ost);
        }
        puts("Vivod massiva");
        puts(str);
        */
        while ( printf("Number: ") && scanf("%d", &n) == 1 ){
            sprintf(str, "%d", n);
            printf("As string: %s\n", str);
        }
        
        return 0;
}
1
AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
18.01.2012, 00:50  [ТС] #7
Как всё просто))
Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2012, 00:50
Привет! Вот еще темы с ответами:

Перевод int и double в char* - C++
Возникла следующая проблема. Нужно сделать: //Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса...

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

Перевод элементов массива char в int - C++
Задача о золотом песке. Во входном файле 6 чисел, первые три стоимость за килограмм каждого вида песка, вторые - масса которую вмещает...

Перевод char массива в int массив - C++
Делаю так: int inmas; char outmas; fgets(outmas,40,write); outmas2=atoi(outmas); Пишет что типы несовместимы.


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

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

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