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

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.87
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
23.02.2014, 20:29     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #1
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже число, но если убрать srand(time(0));, то вылетает ошибка Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string.h>
#include <ctime>
using namespace std;
 
int main()
{
    char *article[5]={"the","a","one","some","any"};
    char *noun[5]={"boy","girl","dog","town","car"};
    char *verb[5]={"drove","jumped","ean","walked","skipped"};
    char *preposition[4]={"to","from","over","on"};
    char **sentence;
    sentence=(char**)malloc(sizeof(char*)*20);
    for (int i = 0; i < 20; i++)
    *(sentence+i)=(char*)malloc(sizeof(char)*100);
    int k;
    for (int i = 0; i < 20; i++)
    {
        srand(time(0));
        k=rand() % 5+1;
        sentence[i] = article[k];
    }
    for (int i=0; i<20; i++)
        cout<<sentence[i]<<endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 20:29     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Посмотрите здесь:

C++ Необработанное исключение в "0x54a2d2e9 (msvcr100d.dll)" в "3.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".
Необработанное исключение в "0x00414558" в "467.exe": 0xC0000005: Нарушение прав доступа при чтении "0xabababbb" C++
Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". C++
C++ Необработанное исключение в "0x01082855" в "sort.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc"
Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6456 / 3830 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
23.02.2014, 21:07     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <string.h>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main()
{
    char const *article[5]={"the","a","one","some","any"};
    char const *noun[5]={"boy","girl","dog","town","car"};
    char const *verb[5]={"drove","jumped","ean","walked","skipped"};
    char const *preposition[4]={"to","from","over","on"};
    char ** sentence=(char**)malloc(sizeof(char*)*20);
 
    srand(time(0));
    for (int i = 0; i < 20; i++)
        sentence[i] =(char*)malloc(sizeof(char)*100);
 
    for (int i = 0; i < 20; i++)
    {
        int k = rand() % 5;
        strcpy(sentence[i], article[k]);
    }
    for (int i=0; i<20; i++)
        cout<<sentence[i]<<endl;
 
    for (int i=0; i<20; i++)
        free(sentence[i]);
    free(sentence);
 
    system("pause");
    return 0;
}
Было:
1) неправильное копирование строки;
2) srand(time(0)); нет смысла делать в цикле;
3) ошибка в заголовке была из-за rand() % 5 + 1, т.к. выходили за пределы массива article (помним, что индексы от нуля);
4) отсутствовало освобождение памяти.
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
23.02.2014, 23:16  [ТС]     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #3
Ошибка 2 error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\yamko\documents\visual studio 2012\projects\strings\strings\main.cpp 22 1 strings
Как с такой проблемой бороться?
DrOffset
6456 / 3830 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
23.02.2014, 23:38     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #4
Цитата Сообщение от Yamko Посмотреть сообщение
Как с такой проблемой бороться?
Сделать то, что он вам советует, заменить на strcpy_s
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
24.02.2014, 00:15  [ТС]     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #5
Тогда выдает такую ошибку 3 IntelliSense: отсутствуют экземпляры перегруженная функция "strcpy_s", соответствующие списку аргументов
типы аргументов: (char *, char *)
DrOffset
6456 / 3830 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
24.02.2014, 00:21     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #6
У этой функции три параметра, второй параметр максимальный размер строки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2016, 06:09     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Еще ссылки по теме:

C++ Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
C++ Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу
Необработанное исключение по адресу, нарушение прав доступа при записи по адресу C++

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

Или воспользуйтесь поиском по форуму:
Mr_Wou
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 21
02.05.2016, 06:09     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC #7
решил ошибку, просто запрашивал несуществующий класс
Yandex
Объявления
02.05.2016, 06:09     Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Ответ Создать тему
Опции темы

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