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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
#1

Ошибка обращения к нулевому адресу - C++

22.07.2010, 22:19. Просмотров 1623. Ответов 21
Метки нет (Все метки)

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
int main(int argc, char* argv[])
{
    ifstream f ("alphacntr",ios::in|ios::binary);
    
 
    if (!f)
    {
        cout<<"File opening error!\n";
        return 1;
    }
 
    int mas [25], i;
    char ch;
 
    for (i = 0; i < 26; i++)
        mas [i] = 0;
 
    while (!f.eof())
    {
        ch = f.get();
 
        if (isalpha(ch))
        {
            if (!islower(ch))
                toupper(ch);
 
            mas [ch - 'A']++;
        }
    }
 
    for (i = 0; i < 26; i++)
    {
        cout<<(char)mas[i + 'A']<<' ';
    }
 
    cout<<endl;
 
    for (i = 0; i < 26; i++)
    {
        cout<<mas[i];
    }
 
    cout<<endl;
 
    return 0;
}
while (!f.eof()) - на этой строчке выдаёт "Unhandled exception in ....exe: 0x0000005: Access Violation."
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2010, 22:19     Ошибка обращения к нулевому адресу
Посмотрите здесь:
Почему код корректро отрабатывает после обращения по разыменованному нулевому указателю? C++
C++ Ошибка обращения к элементу массива
C++ Ошибка в уровнях косвенного обращения
Конвертор из wchar_t to string. Ошибка косвенного обращения. C++
C++ Ошибка обращения к строке (нарушение прав доступа чтения)
Ошибка: необработанное исключение по адресу C++
C++ Ошибка: Вызвано исключение по адресу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
23.07.2010, 15:30     Ошибка обращения к нулевому адресу #21
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Судя по описанию делают они одно и тоже, поэтому принципиально они идентичны.
Ну я примерно так и думал...
Забавнее как-нибудь вот так проверять
C
1
2
3
4
...
if ( ! ( f != NULL ) ){
   /*...*/
}
и студентам в решения задачек вкручивать, чтобы преподы с ума сходили...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2010, 15:41     Ошибка обращения к нулевому адресу
Еще ссылки по теме:
Ошибка доступа по адресу 0x00000000 C++
C++ Ошибка: нарушение прав доступа по адресу
Ошибка: первый этап обработки исключения по адресу C++
C++ Ошибка: нарушение прав доступа при чтении по адресу
C++ Нахождение определителя матрицы по Гауссу, ошибка - необработанное исключение по адресу

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

Или воспользуйтесь поиском по форуму:
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
23.07.2010, 15:41  [ТС]     Ошибка обращения к нулевому адресу #22
Цитата Сообщение от FireNovel Посмотреть сообщение
Каких, именно инструкций?
небольшой кусочек из кода представил ниже после своих слов в прошлом посте с циклом for
C++
1
2
3
4
for (i = 0; i < 25; i++)
        {
                cout<<(char)mas[i + 'A']<<": "<<mas[i]<<endl;
        }
Yandex
Объявления
23.07.2010, 15:41     Ошибка обращения к нулевому адресу
Ответ Создать тему
Опции темы

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