С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.02.2019
Сообщений: 18
1

Нарушение прав доступа при чтении по адресу. 0xC0000005

15.05.2019, 01:21. Показов 443. Ответов 0

Author24 — интернет-сервис помощи студентам
Вызвано исключение по адресу 0x0FFFE6D9 (ucrtbased.dll) в lab9.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCC000C. Возникает около строки "while (!feof(inputFile) && !end) {"
В чем может быть проблема?

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdio.h>
#include <iostream>
using namespace std;
#define MAXLEN 50
 
void main()
{
    char ch; //текущий считанный символ 0..255
    int num = 0; //номер текущего предложения
    int NUM;
    char slovo[MAXLEN / 2 + 1] = ""; //текущее слово
    char predl[MAXLEN + 1] = ""; //текущее предложение
    int i, end = 0; //индекс текущего символа в slovo
    int j; //индекс текущего символа в предложении
    FILE* inputFile; //объявляем указатель на входной файл
    inputFile = fopen("input.txt", "r"); //открываем текстовый файл для чтения
    //если входной файл не открыт, выводим сообщение и выходим из программы
    if (inputFile == NULL) {
        cout << "Can't open input.txt" << endl;
        system("pause");
        return;
    }
    FILE* outputFile; //объявляем указатель на выходной файл
    outputFile = fopen("output.txt", "w"); //открываем текстовый файл для записи
     /*если выходной файл не открыт, выводим сообщение, закрываем отрытый входной файл и выходим из программы*/
    if (outputFile == NULL) {
        cout << "Can't open output.txt" << endl;
        fclose(inputFile);
        system("pause");
        return;
    }
    //пока не дойдем до конца файла, считываем очередной символ
    while (!feof(inputFile) && !end) {
        ch = fgetc(inputFile);
        if (feof(inputFile)) { //если считан список конца файла
            end = 1; break;
        }
        if (strchr(".!?\0", ch) == 0) { //то пока текущий символ удовлетворяет этому условию
            char posl[MAXLEN / 2 + 1] = "";
            char perv[MAXLEN / 2 + 1] = "";
            j = 0; //обнуляем индекс текущего символа в предложении
            while (strchr(".!?\0,", ch) == 0) {
                predl[j] = ch; //добавляем символ в конец текущего слова
                if (strchr(" .\r\t;!?:,\n\0", ch) == 0) {
                    i = 0;
                    while ((strchr(" .\r\t;?!:,\n\0", ch) == 0) && (!feof(inputFile))) {
                        slovo[i] = ch;
                        i++;
                        predl[j] = ch;
                        j++;
                        ch = fgetc(inputFile);
                    }
                    for (i = 0; i < strlen(slovo); i++) {
                        posl[i] = slovo[i];
                    }
                    char slovo[MAXLEN / 2 + 1] = "";
                }
                else {
                    i = 0;
                    predl[j] = ch;
                    j++;
                    ch = fgetc(inputFile);
                }
                //if (feof(inputFile)) { //если считан список конца файла
                //  end = 1; break;
                //}
                //if (j == MAXLEN) break; //если превышена длина слова - конец слова
            }
            num++; //инкрементируем количество считанных слов
            j = 0;
            do {
                perv[j] = predl[j];
                j++;
            } while ((predl[j] != ' ') && (predl[j] != '.') && (predl[j] != ' ') && (predl[j] != ',') && (predl[j] != '\n') && (predl[j] != '\r') && (predl[j] != '\t') && (predl[j] != ';') && (predl[j] != ':'));
            char predl[MAXLEN / 2 + 1] = "";  //завершаем предложение
            if (((int(perv[0]) >= -32) && (int(perv[0]) <= -1)) || (int(perv[0]) == -72)) { perv[0] = char(int(perv[0]) - 32); }
            if (((int(posl[0]) >= -32) && (int(posl[0]) <= -1)) || (int(posl[0]) == -72)) { posl[0] = char(int(posl[0]) - 32); }
            if (strcmp(perv, posl) == 0) { NUM = num; }
        }
        else {
            ch = fgetc(inputFile);
        }
    }
    if (NUM > 0) { cout << NUM << endl; }
    else { cout << "Net takogo predlogenia" << endl; }
    system("pause"); //система будет ожидать нажатия любой клавиши
                         //нужно для того, чтобы окно консоли не закрывалось сразу после выполнения программы
    return;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2019, 01:21
Ответы с готовыми решениями:

Вызвано исключение по адресу 0x013C1891 в Jacobi.exe: 0xC0000005: нарушение прав доступа при чтении по адресу
#include &lt;math.h&gt; const double eps = 0.001; ///&lt; желаемая точность /// N - размерность...

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже...

Вызвано исключение по адресу 0x00B31BEF в Project.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE0
Написал программу, но выдает ошибку: Вызвано исключение по адресу 0x00B31BEF в Project.exe:...

Необработанное исключение по адресу 0x001B3371 в XXX.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDF
Делал консольную змейку и столкнулся вот с такой проблемой. void stena(char **arr) { int y...

0
15.05.2019, 01:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2019, 01:21
Помогаю со студенческими работами здесь

C++ Вызвано исключение по адресу 0x00346786 в Smooth_.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00
void getvector(string file_, vector&lt;double&gt; mass) { ifstream fin; fin.open(file_); if...

Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
Необработанное исключение по адресу 0x00105FD7 в Динамические структуры.exe: 0xC0000005: нарушение...

Исключение 0xC0000005: нарушение прав доступа при чтении по адресу
Доброго времени суток ! Первый раз сталкиваюсь с подобной проблемой и спустя несколько суток...

Выдает ошибку 0xC0000005: нарушение прав доступа при чтении по адресу
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; enum kategorie { protein,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru