→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Память не может быть read 
Автор Сообщение
Начинающий

Регистрация: 31.12.2009
Сообщения: 8

Репутация: 0 [ ? ]
Сообщение Память не может быть read
Доброго времени суток!!!

Задача считать структуру из файла и записать ее в другой файл. Программа компилируется, но
при запуске жалуется, что нет доступа к памяти.

#include<stdio.h>
void main() {
struct employers
{
int num;
char name[20];
char edication[20];
char birthday[10];
char sex[10];
char national[20];
int expierence;
}spis[10];
FILE *get, *set;
int i;
get = fopen("spisok1.txt","r+t");
set = fopen("spisok2.txt","w+t");

while(!feof(get))
{
fscanf(get,"%d%s%s%s%s%s%d", &spis[i].num, &spis[i].name, &spis[i].edication,
&spis[i].birthday, &spis[i].sex, &spis[i].national, &spis[i].expierence);
i++;
}
int k = i;

for(i=0;i<k;i++)
{
fprintf(set, "%d %s %s %s %s %s %d",spis[i].num, spis[i].name, spis[i].edication,
spis[i].birthday, spis[i].sex, spis[i].national, spis[i].expierence);

}
fclose(get);
fclose(set);
}


31.12.2009 18:18
Профиль Отправить email
Начинающий

Регистрация: 31.12.2009
Сообщения: 8

Репутация: 0 [ ? ]
Сообщение Re: Память не может быть read
че неужели никто не знает в чем дело?


04.01.2010 18:14
Профиль Отправить email
Магистр
Аватара пользователя

Регистрация: 15.02.2009
Сообщения: 345
Откуда: Киев
Языки:
Специальность:

Репутация: 14 [ ? ]
Сообщение Re: Память не может быть read
Не инициализирована переменная i
При записи нету перехода на новую строку.

Добавлено спустя 13 минут 54 секунды:
Ещё k = i - 1, так как 1 итерация нужна была для обнаружения конца файла.

_________________
Создание, продвижение сайтов: . ICQ 209937


04.01.2010 19:44
Профиль ICQ WWW
Начинающий

Регистрация: 31.12.2009
Сообщения: 8

Репутация: 0 [ ? ]
Сообщение Re: Память не может быть read
не помогло(((
сделал все исправления, опять памяти не хватает...(
может че напарил...
код ниже

#include<stdio.h>
void main() {
struct employers
{
int num;
char name[20];
char edication[20];
char birthday[10];
char sex[10];
char national[20];
int expierence;
}spis[10];
FILE *get, *set;
int i=0;
get = fopen("spisok1.txt","r+t");
set = fopen("spisok2.txt","w+t");

while(!feof(get))
{
fscanf(get,"%d%s%s%s%s%s%d", &spis[i].num, &spis[i].name, &spis[i].edication,
&spis[i].birthday, &spis[i].sex, &spis[i].national, &spis[i].expierence);
i++;
}
int k = i-1;

for(i=0;i<k;i++)
{
fprintf(set, "%d %s %s %s %s %s %d \n",spis[i].num, spis[i].name, spis[i].edication,
spis[i].birthday, spis[i].sex, spis[i].national, spis[i].expierence);

}
fclose(get);
fclose(set);
}


07.01.2010 0:00
Профиль Отправить email
Магистр
Аватара пользователя

Регистрация: 15.02.2009
Сообщения: 345
Откуда: Киев
Языки:
Специальность:

Репутация: 14 [ ? ]
Сообщение Re: Память не может быть read
У меня всё отлично работает. Возможно проблема в spisok1.txt? Либо его не находит, либо он имеет не правильный формат.

_________________
Создание, продвижение сайтов: . ICQ 209937


07.01.2010 13:42
Профиль ICQ WWW
Начинающий

Регистрация: 31.12.2009
Сообщения: 8

Репутация: 0 [ ? ]
Сообщение Re: Память не может быть read
Спасибо)) Разобрался))) Нужен был полный путь к файлу


07.01.2010 13:55
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Yahoo [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»