Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/60: Рейтинг темы: голосов - 60, средняя оценка - 4.77
Cylos
1 / 1 / 0
Регистрация: 13.03.2009
Сообщений: 8
1

Преобразование int в char

27.02.2012, 20:48. Просмотров 12205. Ответов 2
Метки нет (Все метки)

Всем привет! Мне нужно преобразовать число в строку. Использую sprintf() всё работает, НО переменная получает не значение, а ссылку на это значение, а т.к. sprintf() у меня в цикле, то в итоге в массиве все элементы имеют одинаковое значение (последнее преобразованное число). Уже целый день вожусь с этой проблемой. Что нужно сделать, чтобы переменная получала не ссылку, а значение по ссылке?

C
1
2
3
4
5
6
7
8
9
10
11
char *values[50];
char buffer[1];
int a = 5, b = 10;
 
sprintf(buffer,"%d",a);
values[0] = buffer;
 
sprintf(buffer,"%d",b);
values[1] = buffer;
 
//и тот и другой элемент массива имеют одинаковое значение - 10
Сильно не бейте, я новичок в Си, да и нужен он мне только для написания программы к сессии, так что вдаваться во все подробности нет никакого смысла и желания.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 20:48
Ответы с готовыми решениями:

Как правильно выполнить преобразование параметра int в *char?
Суть в чем - в функцию передается указатель на файл, его имя и номер ревизии. Номер ревизии нужно...

Error C2040:strnset_2:"char *(char *,int,unsigned int)" отличается по уровням косвенного обращения от "int ()"
Не могу найти в чём ошибка. error C2040: strnset_2: "char *(char *,int,unsigned int)" отличается...

Assigning from int to char[10] from char to char[10]
добрый день, подскажите пожалуйста, в карточной колоде 52 карты, у меня есть массив структур где ...

Перевод из int в char
программа перевода из int в char, мне нужно написать эту же программу, но не используя n как...

Перевод из int в char
Вылетает при запуске вот этот код void get_word(char* str, int p) { int i=0;...

2
soon
2549 / 1314 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 21:05 2
Через strcpy делайте. Если я вас правильно понял. А так вы просто двум указателям присваиваете адрес одной и той-же строки.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
int main()
{
    char arr[2][3];
    char buf[3];
    int a = 5;
    int b = 10;
 
    sprintf(buf, "%d", a);
    strcpy(arr[0], buf);
 
    sprintf(buf, "%d", b);
    strcpy(arr[1], buf);
 
    printf("%s\n%s\n", arr[0], arr[1]);
 
    return 0;
}
0
Evg
Эксперт CАвтор FAQ
20076 / 7643 / 585
Регистрация: 30.03.2009
Сообщений: 21,403
Записей в блоге: 30
27.02.2012, 22:44 3
C
1
2
3
4
5
6
7
8
9
10
11
/* 50 элементов по 15+1 символов. Хотя на один элемент в крайнем случае
 * будет достаточно и 11 символов + завершающий ноль. Но для круглого
 * числа пусть будет 16 */
char values[50][16];
...
int a, b, c;
...
sprintf (buf[0], "%d", a);
sprintf (buf[1], "%d", b);
sprintf (buf[2], "%d", c);
...

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 22:44

Преобразования int в char
#include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; char*...

Преобразование из *char в char[]
Однако здравствуйте Как в чистом си преобразовать значения из char* в char Если Char * tmp =...

Преобразовать тип char к типу int
Можно ли как-то преобразовать тип char к типу int? Существуют ли какие-либо функции для этого?...


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

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

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