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

Форум программистов: 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 ] 


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

Зарегистрированные пользователи: нет зарегистрированных пользователей


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

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