0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 17
|
||||||
1 | ||||||
Конвертирование char в int13.06.2010, 00:21. Просмотров 127226. Ответов 9
Метки нет Все метки)
(
Перевожу char в int, но на выходе неверное число, вот упрощений вариант:
0
|
|
13.06.2010, 00:21 | |
конвертирование (char)int (char*)int Реализация функции char *padl(const char *string, int len, int c=' ') Как превести из char* в int и наоборот из int в char*?
|
|
1998 / 1598 / 488
Регистрация: 31.05.2009
Сообщений: 2,990
|
|
13.06.2010, 00:34 | 2 |
А что по-вашему должно было получиться? Что значит неверное?
0
|
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 17
|
|
13.06.2010, 00:39 [ТС] | 3 |
rangerx, "по-моему" должно было получиться 1, так как использован static_cast, но на выходе 49
А "по-вашему"?
0
|
Модератор
![]() ![]() ![]() ![]() 10898 / 6814 / 1623
Регистрация: 25.07.2009
Сообщений: 12,519
|
|
13.06.2010, 00:47 | 4 |
Это с какого перепуга? static_cast в Вашем случае просто приводит переменную типа char к типу int. Значением переменной как был код символа '1', так и остался...
0
|
![]() ![]() 8364 / 3585 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
|
||||||
13.06.2010, 00:47 | 5 | |||||
ordoss, а по нашему
5
|
26 / 26 / 1
Регистрация: 18.03.2010
Сообщений: 19
|
||||||
13.06.2010, 11:41 | 6 | |||||
![]() Решение
Все напали на вас и не кто толком не объяснил.
char c = '1'; когда вы сделали присваивание в переменную 'c' записался только номер символа "1", то есть предположим так: Вы сохранили номер символа по которому windows хранит номер изображения с симвоолом "1", вы же не можете сохранить изображение в переменную char, по этому при выводе например на консоле вместо номера символа вы увидите сам символ. Надеюсь понятно. Для перевода символа из номера кода символа есть множество функций вот например int atoi(const char *str) можно было написать так:
14
|
18 / 18 / 5
Регистрация: 17.12.2014
Сообщений: 321
|
|||||||||||
16.01.2017, 07:25 | 7 | ||||||||||
Market, зачем было писать то что не работает и даже не должно работать?
011.cpp(8): error C2664: "int atoi(const char *)": невозможно преобразовать аргумент 1 из "char" в "const char *"
поэтому если ввести 77 останется только 7 может кто знает как приводить char к цифрам, может есть готовые функции??
0
|
Модератор
![]() 10261 / 8577 / 5200
Регистрация: 18.12.2011
Сообщений: 22,954
|
||||||
16.01.2017, 08:38 | 8 | |||||
atoi переводит текстовое представление ЧИСЛА, в двоичное целое.
1
|
1 / 1 / 0
Регистрация: 14.08.2014
Сообщений: 12
|
|||||||||||
21.07.2017, 14:04 | 9 | ||||||||||
Как ни странно, но вам поможет та самая функция, которую описали выше ![]()
Если немножко переделать ваш код, то он будет работать:
1
|
5 / 5 / 6
Регистрация: 10.01.2015
Сообщений: 33
|
||||||
15.12.2017, 12:47 | 10 | |||||
Пишу сюда так как это первая попавшаяся тема
char не char* и т.д в одну строку
0
|
15.12.2017, 12:47 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Подскажите пожалуйста с int main(int argc, char*argv[]) Сделать преобразование unsigned char в char, а затем типу int Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) Конвертирование float/int to string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |