Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2014, 19:33   #1
Анастасия_18
 
Регистрация: 26.01.2014
Сообщений: 7
По умолчанию Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу

Помогите, пожалуйста, исправит ошибку.
Необработанное исключение по адресу 0x77D88E19 (ntdll.dll) в Lab11.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x10101024.
Код:
// Lab11.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"rus");
    char mystring[50],c;
    int n=0, size=0, k=0;
    FILE *file;
    fopen_s(&file,"1.txt","r"); //открытие файла
    if (file == NULL) fprintf(stderr, "Не удалось открыть файл.");//вариант, когда запрашиваемый файл не существует
    else fclose(file);
    do
    {
        fgets(mystring, 50, file+n);//читает строку длины 50 из file+n в mystring
        for(int i=0;i<50;i++)
        {
            c=mystring[i];
            if (c!=' ')
            size++;
            else
            {
                if (size<=4)
                    k++;
                size=0;
            }
        }
        n=n+50;
    }
    while(c!=EOF);//пока не конец файла
    printf("Количество слов состоящих не  чем из 4 букв: %d",k);
    getchar();
    return 0;
}

Последний раз редактировалось Stilet; 15.07.2014 в 21:50.
Анастасия_18 вне форума Ответить с цитированием
Старый 15.07.2014, 21:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
fgets(&mystring, 50, file+n);
И кстати, может стоит выяснить размер файла, создать динамический массив символов, потом считать в него весь файл целиком?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2014, 22:09   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Кто такой file+n? У вас нет такого идентификатора

зачем темы плодить?

From Stilet: Я объединил. Обсуждаем тут.

Последний раз редактировалось Stilet; 15.07.2014 в 22:25.
p51x вне форума Ответить с цитированием
Старый 16.07.2014, 09:57   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
fgets(&mystring, 50, file+n);
И кстати, может стоит выяснить размер файла, создать динамический массив символов, потом считать в него весь файл целиком?
проще mmap использовать
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему при обращении к структуре из класса возникает исключение:нарушение прав доступа при записи? iron-mik Помощь студентам 2 18.05.2014 01:40
Mutex нарушение прав доступа при чтении по адресу Eugenelife Помощь студентам 0 15.12.2013 13:13
c++ нарушение прав доступа при чтении по адресу 0x00000000 proef Помощь студентам 7 05.09.2013 23:49
C++ Error Необработанное исключение...нарушение прав доступа Alt_Shift Помощь студентам 1 24.05.2012 12:55
Нарушение доступа по адресу *** в модуле 'rtl60.bpl' rfcr Общие вопросы Delphi 5 14.09.2009 16:19