Мне нужно создать класс MyInt, который обрабатывает положительные числа любого размера, создавая массив int. Я делаю конструктор, который будет использоваться при преобразовании int (любого размера, поддерживаемого ints) в MyInt. Мне нужно преобразовать int в массив символов, а затем прочитать цифру по цифре в массив int. Поэтому мой вопрос заключается в том, что без использования каких-либо библиотек, кроме <iostream>
<iomanip>
и <cstring>
Как преобразовать int с несколькими цифрами в массив символов?Преобразование Int в Char Array
ответ
Не уверен, если это то, что вы хотите, но:
int myInt = 30;
char *chars = reinterpret_cast<char*>(&myInt);
И вы можете получить 4 отдельный Чара:
chars[0]; // is the first char
chars[1]; // is the second char
chars[2]; // is the third char, and
chars[3]; // is the fourth/last char
... но я не совсем уверен, что это что ты ищешь.
Это не работает, по крайней мере, если я не понимаю вопрос. Ваш код создает массив символов с одним символом: символ с ASCII значением 30. Он не будет создавать массив символов с символом «3», «0» и нулевым терминатором, который (если я понимаю правильно), чего хочет OP. –
Один из возможных способов сделать это преобразование с помощью таких ограничений заключаются в следующие:
function convert:
//find out length of integer (integer division works well)
//make a char array of a big enough size (including the \0 if you need to print it)
//use division and modulus to fill in the array one character at a time
//if you want readable characters, don't forget to adjust for them
//don't forget to set the null character if you need it
Я надеюсь, что я не понял ваш вопрос, но это работает для меня, давая мне для печати массива, которые читают то же самое как целое.
В качестве промежуточного шага вам не нужно создавать массив char
. Цифры (я предполагаю, что в базе 10) можно получить один за другим, используя по модулю 10 операций. Что-то вроде:
convert(int *ar, const int i)
{
int p, tmp;
tmp = i
while (tmp != 0)
{
ar[p] = tmp % 10;
tmp = (tmp - ar[p])/10;
p++;
}
}
- 1. Преобразование unsigned char (array) в unsigned int (array)
- 2. char array to int array
- 3. Преобразование char * в int
- 4. C++ char array to int и int to char array
- 5. Преобразование int в char
- 6. Преобразование char в int?
- 7. Преобразование char * в int
- 8. Преобразование int в char?
- 9. Преобразование Char Array в Integer
- 10. Преобразование NSString в Char Array
- 11. Целочисленное преобразование для Char Array
- 12. C++ char array to int
- 13. Java char array to int
- 14. Преобразование «int» в «char» внутри массива char
- 15. неверное преобразование char * в int
- 16. realloc - преобразование int в char
- 17. Преобразование char cr в int
- 18. Преобразование массива int в char *
- 19. Преобразование int в char * C
- 20. Преобразование из char в int
- 21. Преобразование char в int C++
- 22. C - Преобразование int в char
- 23. Преобразование int в Char C#?
- 24. Преобразование int в char из значения int
- 25. ReadProcessMemory char array, hex output to int
- 26. C - unsigned int to unsigned char array преобразование
- 27. Преобразование массива int в массив char
- 28. Преобразование Double в Int Array?
- 29. Преобразование double в int array
- 30. Преобразование String в 2D Char Array
Зачем вам нужно преобразовать в массив 'char'? Почему бы просто не перейти непосредственно к финальному массиву 'int'? –
Как я могу это сделать? Преобразовать int в массив int? – easyxtarget
Что должно содержать содержимое массива int? –