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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2012, 10:40   #1
JoberLord
Пользователь
 
Аватар для JoberLord
 
Регистрация: 28.03.2010
Сообщений: 38
По умолчанию Бинарные файлы (запись/чтения больше одной записи)

Привет всем!
Данная непонятка весит в моей голове уже давно
И вот я решился спросить у вас так как сам не смог разобраться
Гугление не дало нужного мне ответа в том виде в котором я хотел

Собственно сама непонятка: как производить запись/чтение в бинарный файл с несколькими данными?

Код:
#include <iostream>
#include <fstream>

using namespace std;

struct fio{
	char name[5];
	char fam[10];
	int age;
};

int main(){
	int num;
	cin >> num; // переменная для определения операции
	fio one, two;
	strcpy(one.name,"name");
	strcpy(one.fam,"fam");
	one.age=10;

	fstream file("test.txt",ios::binary|ios::in|ios::out);
	if(!file){
		return 1;
	}
	if(num==1){ // если 1 то производится запись иначе происходит чтение
		file.write((char *) &one, sizeof(struct fio));
		cout << "ok";
	} else
	{
		file.read((char *) &two, sizeof(struct fio));
		cout << two.name << "     " << two.fam << "     " << two.age << endl;
	}

	file.close();
	return 0;
}
в этом коде мне все ясно и понятно потому что производится запись/чтение всего одно записи.

P.S. и простите меня если вам не понравится мой код, я ведь не такой профессионал как вы

Последний раз редактировалось JoberLord; 27.08.2012 в 10:42.
JoberLord вне форума Ответить с цитированием
Старый 27.08.2012, 11:30   #2
Last
В прострации
Форумчанин
 
Регистрация: 13.01.2009
Сообщений: 239
По умолчанию

Можно организовать цикл. For, while, do while.
Пол-жизни сидючи, в монитор глядючи...
Last вне форума Ответить с цитированием
Старый 27.08.2012, 13:30   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include <iostream>
#include <fstream>

using namespace std;

struct fio{
	char name[5];
	char fam[10];
	int age;
};

int main(){
	int num;
	cin >> num; // переменная для определения операции
	fio one[10], two[10];
	//****************************
            Тут заполняем массивы записей
	//****************************
	fstream file("test.txt",ios::binary|ios::in|ios::out);
	if(!file){
		return 1;
	}
	if(num==1){ // если 1 то производится запись иначе происходит чтение
		file.write((char *) &one, 10*sizeof(struct fio));
		cout << "ok";
	} else
	{
		file.read((char *) &two, 10*sizeof(struct fio));
		cout << two.name << "     " << two.fam << "     " << two.age << endl;
	}

	file.close();
	return 0;
}
Считает/запишет сразу 10 записей в файл.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.08.2012, 17:51   #4
JoberLord
Пользователь
 
Аватар для JoberLord
 
Регистрация: 28.03.2010
Сообщений: 38
По умолчанию

О спасибо большое))) об этом я как то не подумал))) и напоследок можете подсказать какой нибудь источник лучше всего литература на русском где рассказывается о проектировании таких файлов т.е. запись/чтения разных данных (надеюсь понятно свой вопрос изложил)
JoberLord вне форума Ответить с цитированием
Старый 27.08.2012, 18:49   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну... Я с Кернигана и Риччи начинал, и практически ими и закончил
Сейчас в основном MSDN и хелп моя литература, так что не скажу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарные файлы с++ Killspamers Помощь студентам 0 01.03.2012 14:04
Оцените математической формулой, насколько больше цифр в двоичной записи большого числа, чем в его десятичной записи. Анюта.Хом Помощь студентам 1 02.12.2011 23:13
Чтение/запись объектов классов из/в бинарные файлы Гром Общие вопросы C/C++ 9 18.05.2010 22:20
Структуры,запись в бинарные файлы,массивы(С++) TOSHH Общие вопросы C/C++ 1 10.10.2009 02:01
Бинарные файлы VorobeY1326 Общие вопросы C/C++ 12 09.05.2009 21:00