IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Работа с файлами, Язык C
Rocket
сообщение 15.12.2007 19:20
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Помогите пожалуйста в написании функций синхронизации массива с файлом. Функция чтения должна
считывать из файла указанные символы массива. Предполагается, что файл содержит массив целиком и при чтении необходимо считывать соответствующие элементы массива:
Считываются с 3 по 5 элементы из файла в массив:
Файл: 1 4 6 2 3 5 6 7 8 9

Массив: _ _ _ 2 3 5 _ _ _ _
Остальные элементы массив должны остаться без изменений.
При записи из массива в файл действия аналогичны.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Rocket
сообщение 16.12.2007 19:21
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Ну вот, что у меня получилось:

#include<stdio.h>
#include<conio.h>

void mastofile(FILE *pF, int *mas, int a, int b )
{
int i;
pF=fopen("E:\C\fileN1","w+");
for (i=a;i<=b;i++)
{
fseek(pF, i*sizeof(int), SEEK_SET );
fwrite(&mas[i], sizeof(int), 1,pF);
}
fclose(pF);
}


void filetomas(FILE *pF, int *mas, int a, int b )
{
int i;
pF=fopen("E:\C\fileN1.dat","r");
for (i=a;i<=b;i++)
{
fseek(pF, i*sizeof(int), SEEK_SET );
fread(&mas[i], sizeof(int), 1,pF);
}
fclose(pF);
}

void ToShow(int mas[10])
{
int i;
for(i=0; i<=10; i++)
printf("\n3%d\n",mas[i]);

}

void main()
{
FILE *pF;
int masN1[5]={2,4,6,8,10},
masN2[5]={1,3,5,7,9};
clrscr();
filetomas(pF, masN1, 2, 4);
mastofile(pF, masN2, 2, 4);
ToShow(masN2);

}

Только она работает явно некорректно, в чём ошибка?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 31.07.2025 15:59
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"