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

Нарушения прав доступа при записи(не в файл). - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.95
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 21:29     Нарушения прав доступа при записи(не в файл). #1
Вот такая проблемка есть:
C++
1
2
3
4
5
6
7
8
 char* ret="";
    __asm
    {
        lea esi,ret;
        mov eax,0x34;
        inc esi;
        mov ret[esi],eax
    };
На строке mov ret[esi],eax выдает ошибку
Необработанное исключение в "0x004115a4" в "zaddd.exe": 0xC0000005: Нарушение прав доступа при записи "0x0025fce1".
Помогите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
10.10.2009, 21:37     Нарушения прав доступа при записи(не в файл). #2
А место кто будет выделять в ret ?
И зачем ты пишешь по адресу ret+ret, вместо адреса ret ?
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 21:45  [ТС]     Нарушения прав доступа при записи(не в файл). #3
прислушался к рекомендациям но все равно та же ошибка.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
10.10.2009, 21:59     Нарушения прав доступа при записи(не в файл). #4
А исправленный код где ?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,314
10.10.2009, 22:01     Нарушения прав доступа при записи(не в файл). #5
А что ты вообще пытаешься сделать? Потому что приведенный код стреляет по памяти по принципу "пальцем в небо". Естественно, с вероятностью 90% получишь AV, и с вероятностью 10% - просто невоспроизводимые глюки в программе.
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 22:04  [ТС]     Нарушения прав доступа при записи(не в файл). #6
C++
1
2
3
4
5
6
7
8
     char *ret="";
     ret=new char[255];
    __asm
    {
        lea esi,ret;
        mov eax,0x34;
        mov ret[esi],eax
    };
функция memset не вызывает туже ошибку.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,314
10.10.2009, 22:14     Нарушения прав доступа при записи(не в файл). #7
Естессно, не вызывает. Еще раз: что ты пытаешься сделать?
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 22:17  [ТС]     Нарушения прав доступа при записи(не в файл). #8
сорри там не не вызывает а вызывает эту ошибку при выполнении самой функции.
А это просто вроде черновика для главной программы.
мне нужно будет перегнать число из флоата в строку. Другово способа я не нашел.
ЗЫ. пишу в студди, может это ее глюк?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,314
10.10.2009, 22:29     Нарушения прав доступа при записи(не в файл). #9
Цитата Сообщение от }{ottab Посмотреть сообщение
мне нужно будет перегнать число из флоата в строку. Другово способа я не нашел.
Всего-то? Тьфу, что называется - палишь из пушки по воробьям......
C++
1
2
3
4
5
6
7
8
9
10
11
float f = 123.45; // что в голову взбредет.....
// 1. C
char buf[256];
sprintf(buf, "%10.6f", f);
// 2. C++
stringstream ss;
ss << f;
cout << ss.str() << endl;
// 3. (VC++)
CString str;
str.Format("%8.2f", f);
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 22:35  [ТС]     Нарушения прав доступа при записи(не в файл). #10
все выше перечисленное использовал.
Ошибка не изменилась ну разве что адреса поменялись.
Если б то работало я б не писал кучу всякого лишнего кода кода у мну его и так много.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,314
10.10.2009, 22:58     Нарушения прав доступа при записи(не в файл). #11
Цитата Сообщение от }{ottab Посмотреть сообщение
все выше перечисленное использовал.
Ошибка не изменилась ну разве что адреса поменялись.
Тогда засада где-то в другом месте. Приводи минимальный фрагмент кода, позволяющий воспроизвести эту ошибку.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
10.10.2009, 23:01     Нарушения прав доступа при записи(не в файл). #12
2}{ottab
Понимаешь телепаты ушли спать и что именно ты там написал никто не знает, код ты не показываешь. Только ходишь и задаешь один и тот же вопрос - где стена ?
Завтра если кода не будет, то закроем тему для ясности.
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 23:01  [ТС]     Нарушения прав доступа при записи(не в файл). #13
Понимаешь телепаты ушли спать и что именно ты там написал никто не знает, код ты не показываешь. Только ходишь и задаешь один и тот же вопрос - где стена ?
Завтра если кода не будет, то закроем тему для ясности.
Там код в двох файлах. И если я его выложу всем будет впадло это читать а мне коменты писать тоже впадло. Да и я нашел способ обойтись без перевода, длиннее но ничего.
Goodwin98
 Аватар для Goodwin98
2516 / 812 / 9
Регистрация: 31.05.2009
Сообщений: 1,671
10.10.2009, 23:05     Нарушения прав доступа при записи(не в файл). #14
C++
1
2
3
4
5
6
7
         char* ret=new char[255];
        __asm
        {
                mov esi,ret;
                mov eax,0x34;
                mov byte ptr [esi],al
        };
Оно ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2009, 23:08     Нарушения прав доступа при записи(не в файл).
Еще ссылки по теме:

C++ Нарушение прав доступа при записи
C++ Нарушение прав доступа при записи
Нарушения прав доступа к чтению (работа с файлами) C++
C++ Нарушения прав доступа при чтении
C++ Ошибка нарушения прав доступа при выполнении программы

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

Или воспользуйтесь поиском по форуму:
}{ottab
 Аватар для }{ottab
14 / 13 / 3
Регистрация: 04.03.2009
Сообщений: 75
10.10.2009, 23:08  [ТС]     Нарушения прав доступа при записи(не в файл). #15
Да, спасибо. Во я затупил.
Ну и как сказано выше нашел способ обойтись без этого.
Yandex
Объявления
10.10.2009, 23:08     Нарушения прав доступа при записи(не в файл).
Ответ Создать тему
Опции темы

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