Форум программистов, компьютерный форум CyberForum.ru

функции и работа с файлами - C++

Восстановить пароль Регистрация
 
vantaqa
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 16
06.12.2012, 22:37     функции и работа с файлами #1
Для хранения данных о цветных сканерах описать структуру вида:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
struct scan_info{
char model[25];
int price;
double x_size;
double y_size;
int optr;
int grey;
};

Написать функцию,которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла:
в первых двух байтах размешается значение типа int,определяющее кол-во сделанных в файл записей;далее без пропусков размещаются записи о сканерах.
Все данные для функций должны передавать им в качестве параметров.Использование глобальных переменных в функциях не допускается.
Помогите пожалуйста решить...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 22:37     функции и работа с файлами
Посмотрите здесь:

C++ Работа с файлами
Работа с файлами C++
C++ Работа с файлами
работа с файлами C++
Программой, содержащая класс, структуры и функции работы с файлами. Синтаксических ошибок нет, но работа прерывается и ничего не выводится на экран. C++
C++ работа с файлами
C++ Работа с файлами: Построить график функции y=A*sqrt(B*X) и внести в файл
C++ Работа с файлами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vantaqa
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 16
13.12.2012, 12:51  [ТС]     функции и работа с файлами #2
ребяяяят) ну помогите)))
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
13.12.2012, 13:17     функции и работа с файлами #3
Цитата Сообщение от vantaqa Посмотреть сообщение
в первых двух байтах размешается значение типа int
На 32-ух битной Windows sizeof(int) равен 4.

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
 
struct scan_info
{
    char model[25];
    int price;
    double x_size;
    double y_size;
    int optr;
    int grey;
};
 
void write_scaners(const std::vector<scan_info>& scaners, std::ofstream& file)
{
    short scaners_count = scaners.size();
    file.write((char*)&scaners_count, sizeof(short));
    for (std::vector<scan_info>::const_iterator it = scaners.begin();
        it != scaners.end();
        ++it)
        file.write((char*)&*it, sizeof(scan_info));
}
 
std::vector<scan_info> read_scaners(std::ifstream& file)
{
    short scaners_count;
    file.read((char*)&scaners_count, sizeof(short));
    std::vector<scan_info> ret_val; 
    ret_val.reserve(scaners_count);
    for (int i = 0; i < scaners_count; i++)
    {
        scan_info si;
        file.read((char*)&si, sizeof(scan_info));
        ret_val.push_back(si);
    }
    return ret_val;
}
 
int main()
{
    const char *filename = "scaners.bin";
    scan_info scaners[3] = 
    {
        { "samsung", 4000, 40, 60, 1, 1 },
        { "HP", 6000, 80, 60, 2, 2, },
        { "panasonic", 7000, 50, 40, 3, 3 }
    };
    std::vector<scan_info> scaners_vector(scaners, scaners + 3);
    std::ofstream out(filename);
    write_scaners(scaners_vector, out);
    out.close();
    std::ifstream in(filename);
    std::vector<scan_info> readed_scaners = read_scaners(in);
    in.close();
    std::vector<scan_info>::size_type len = readed_scaners.size();
    for (size_t i = 0; i < len; i++)
        std::cout << std::setw(26) << std::left << readed_scaners[i].model << readed_scaners[i].price << std::endl;
}
Yandex
Объявления
13.12.2012, 13:17     функции и работа с файлами
Ответ Создать тему
Опции темы

Текущее время: 12:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru