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

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

Войти
Регистрация
Восстановить пароль
 
eagl69
4 / 9 / 1
Регистрация: 12.10.2011
Сообщений: 498
#1

Обращение по нулевому указателю при преобразование типов - C++

10.02.2016, 18:46. Просмотров 250. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
int main()
{
    unsigned long  long long1 = 123456789012345;
    char str[8];
    _ultoa_s(long1, str, size_t (str), 10);
    return 0;
}
Вызвано исключение по адресу 0x1001FB89 (ucrtbased.dll) в ConsoleApplication1.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00D30000.
В чем ошибка?
и как преобразовать в обратную сторону?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2016, 18:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обращение по нулевому указателю при преобразование типов (C++):

Вызов виртуальной функции по нулевому указателю - C++
struct A { int sum1(int a, int b) { return a+b; } virtual int sum2(int a, int b) { return a+b; } }; int main() { ...

Почему код корректро отрабатывает после обращения по разыменованному нулевому указателю? - C++
Добрый вечер, проходил тест по плюсам и столкнулся со следующим кодом. Объясните, пожалуйста, почему всё работает? По идее же происходит...

Преобразование типов при наследовании - C++
Здравствуйте! Никак не получается разобраться с проблемой. Храню в контейнере объекты. Доступ к ним осуществляю через type_index. ...

не могу понять ошибку типов переменных при деление идет обращение в ноль - C++
проблема в том что при деление у ми идет обращение в 0, хотя по сути его не должно быть const int m=10, n=1000; // по заданию...

Обращение к неинициализованному указателю - C++
просто в никакую не получается. Если выделяю обычную динамическую память, то без ошибок, выделяю указатель на указатель тут уже ошибки идут...

Обращение к структурам по указателю - C++
Сейчас изучаю структуры. Решил придумать себе такое упражнение, на выходе программа в конечном итоге наносит урон по структуре Enemy, но по...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SergioO
95 / 184 / 63
Регистрация: 13.12.2015
Сообщений: 999
10.02.2016, 19:01 #2
C++
1
2
3
4
5
6
errno_t _ultoa_s(
    unsigned long value,
    char *str,
    size_t sizeOfstr,
    int radix 
);
value
Число, которое нужно преобразовать.
str
Строковый результат.
sizeOfstr
Размер str в байтах для _ultoa_s или словах для _ultow_s.
radix
Основание системы счисления для value.
C++
1
2
3
4
#include <cstdlib>
unsigned long n = 1234567890;
char str*;
errno_t _ultoa_s( n, str, sizeof(str), 10 );

https://msdn.microsoft.com/ru-ru/library/kk8w4t5t.aspx
0
eagl69
4 / 9 / 1
Регистрация: 12.10.2011
Сообщений: 498
11.02.2016, 05:54  [ТС] #3
Так тоже выдает ошибки....
C++
1
2
3
unsigned  long long1 = 123456789012345;
    char str[8];
    errno_t _ultoa_s(long1, *str, sizeof(str), 10);
\projects\probyi\probyi\probyi.cpp(32): warning C4305: инициализация: усечение из "__int64" к "unsigned long"
1>h:\projects\probyi\probyi\probyi.cpp(32): warning C4309: инициализация: усечение константного значения
1>h:\projects\probyi\probyi\probyi.cpp(34): error C2440: инициализация: невозможно преобразовать "initializer list" в "errno_t"
1> h:\projects\probyi\probyi\probyi.cpp(34): note: Инициализатор содержит слишком много элементов

Ваш вариант:
C++
1
2
3
unsigned  long long1 = 123456789012345;
    char str*; /* error C2059: синтаксическая ошибка: ;*/
    errno_t _ultoa_s(long1, str, sizeof(str), 10);/*error C2440: инициализация: невозможно преобразовать "initializer list" в "errno_t"*/
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 05:54
Привет! Вот еще темы с ответами:

Как запретить преобразование типов при использовании cin - C++
Как запретить преобразование типов при использовании объекта потокового ввода cin. Проблема в том, что существует переменная типа int и со...

Осуществить обращение к элементам массива по указателю - C++
Здравствуйте. Каким образом можно изменить код, чтобы обращение к переменным и элементам массива осуществлялся через указатели (например,...

Шаблонные классы. Присвоение к указателю и приведение типов - C++
Добрый вечер, ув. форум, есть к вам вопрос. Есть род. абстрактный класс: ParentAbstact Есть два наследника: ChildOne : public...

Преобразование указателя void к указателю на структуру - C++
Здравствуйте! Можете объяснить эти строки в программе? int cmp(const void* p1, const void* p2) { return...


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

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

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