Форум программистов, компьютерный форум, киберфорум
Наши страницы

Файлы (чтение/запись) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ дана матрица, поменять местами минимальный элемент ниже главной диагонали с максимальным выше главной диагонали http://www.cyberforum.ru/cpp-beginners/thread993339.html
постоянно ругаетса вот так: Run-Time Check Failure #3 - The variable 'min' is being used without being initialized. #include"stdafx.h" #include <stdio.h> #include <iomanip> #include <string.h>...
C++ Использование перегрузки = для списка в составе класса Всем привет. Проблема такая: имеется класс, реализующий работу с длинными числами. Для представления длинного числа используется односвзязный список. Дабы было легче было работать, для списка... http://www.cyberforum.ru/cpp-beginners/thread993338.html
C++ Кракозябра кадировки
Здравствуйте, имеется вот такой кодик который найден в интернете, проблема в том что у меня он выводит не то что должен. Первую букву названия файла и краказябру вместо русского названия. А идея...
оператор break C++
Здравствуйте! Я где-то слышал, что использовать оператор break для выхода из цикла - не хорошо. И что его можно использовать только если без него совсем никак не получается. Я правильно понимаю?
C++ Выходной поток первого числа, второго , суммы первого и второго чисел http://www.cyberforum.ru/cpp-beginners/thread993324.html
Здравствуйте! Помогите пожалуйста написать программу, которая через стандартный входной поток принимает текстовые строки, в каждой из которых через пробел или символ табуляции записана пара...
C++ Абстрактные классы Объясните пожалуйста почему это не работает и как исправить? cannot declare variable 'b1' to be of abstract type 'classB' because the following virtual functions are pure within 'classB':virtual... подробнее

Показать сообщение отдельно
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 90

Файлы (чтение/запись) - C++

31.10.2013, 06:54. Просмотров 541. Ответов 10
Метки (Все метки)

Привет всем.
Уважаемые программисты! Второй день мучаюсь.. помогите плиз..
Забираю из текстового файла информацию и передаю её в бинарный файл..
txt выводится на экран нормально, а bin перед концом файла выводит какие то нули.
Откуда взялись не могу понять . Очень нужна Ваша помошь, а то всю голову сломал уже
скрин и файлы прилагаю.. при необходимости могу скинуть весь проект.

Функция записи из TXT в BIN
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
void WhriteBin()                                                // Запись из TXT в BIN
{   
    system("CLS");  
    ofstream bfile;
    bfile.open("base.bin", ios_base::); 
    bfile.write ((char *) &KOL, sizeof(int));       
 
    int i = 0;
    int spisok = 0;
    ifstream infile;                        // для ввода (чтения) данных из файла       
    infile.open ("base.txt");               // Открыли файл 
 
    while (! infile.eof())                      
    {
                            
        infile >> Sklad[i].tip >> Sklad[i].firma >> Sklad[i].model;
        infile >> Sklad[i].god >> Sklad[i].serial >> Sklad[i].inventar;
        infile >> Sklad[i].sost;
        infile >> Sklad[i].sred;        
        i++;
        spisok++;
        
    }
    bfile.trunc;
    for (i=0;i<spisok;i++)
        {
           bfile.write ((char * ) &Sklad[i], sizeof(SSklad));          
        }   
        bfile.close();
 
    printf_s ("Записали в бинарный файл!\n\n");
    dialog();
}

Функция вывода на экран BIN файла
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
61
62
63
64
65
66
67
68
69
70
void PrintBIN ()                                                //Вывод на экран бинарного файла
{
    system("CLS");
    ifstream bfile; 
    unsigned int kol = 7;
    int i =0;
    int spisok = 0; 
    bfile.open("base.bin", ios_base::binary);                   // Открыли файл, указав его имя и тип
    bfile.read ((char *) &kol, sizeof(unsigned int));           // ...
    
    //------------Выводим таблицу красиво (в столбик)-------------------------------------
    //-------------Загаловки таблицы
    SetColor( 3, 1);    
    cout << "+------------------------------------------------------------+" << endl;
    SetColor(10, 3);    
    cout << "                                                              " << endl;
    cout << "Тип         Фирма      Модель     Год  Серийный № Сост Рейтинг" << endl;
    cout << "                                                              " << endl;
    //-------------Загаловки таблицы
    
while (! bfile.eof())
{
    
        memset (&Sklad, 0, sizeof (SSklad));        
        bfile.read ((char * ) &Sklad[i], sizeof(SSklad));
        
 
        string tip = Sklad[i].tip;
        int counter = 10-tip.length();
        for (int j=0;j<counter;j++)
        {
            tip=tip+' ';
        }
 
        string firma = Sklad[i].firma;
        counter = 10-firma.length();
        for (int j=0;j<counter;j++)
        {
            firma=firma+' ';
        }
 
        string model = Sklad[i].model;
        counter = 10-model.length();
        for (int j=0;j<counter;j++)
        {
            model=model+' ';
        }
        
        
        SetColor(11, 3);
        cout << tip << "  " ;
        cout << firma << " " ;
        cout << model << " " ;
        cout << Sklad[i].god << " " ;
        cout << Sklad[i].serial << " " ;
        cout << Sklad[i].inventar << " " ;
        cout << Sklad[i].sost << " " ;
        cout << Sklad[i].sred << "    " <<endl ;
        SetColor(10, 3);
        cout << "                                                              " <<endl;                                                      
        
        if (bfile.eof()==1) {cout << "Конец файла (удачно)                            " << endl;};
        
}
    bfile.close();
    SetColor( 3, 1);    
    cout << "+------------------------------------------------------------+" << endl;   
    
    dialog();
}
Файлы (чтение/запись)

текстовик_и_бинарн.rar

Буду благодарен за любые мысли по этому вопросу.. а то завис на два дня уже над этой проблемой
ЗЫ: Пишу на MVS2010
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru