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

Файлы (чтение/запись) - 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> #include <iostream> using namespace std; const int N=5; void RNG(int A);
C++ Использование перегрузки = для списка в составе класса Всем привет. Проблема такая: имеется класс, реализующий работу с длинными числами. Для представления длинного числа используется односвзязный список. Дабы было легче было работать, для списка перегрузил операцию равенства, но когда попытался использовать её в конструкторе начало ругаться плохими словами. Прошу помочь, заранее спасибо за ответы (компилятор Dev-C++) Класс длинных чисел: class... http://www.cyberforum.ru/cpp-beginners/thread993338.html
C++ Кракозябра кадировки
Здравствуйте, имеется вот такой кодик который найден в интернете, проблема в том что у меня он выводит не то что должен. Первую букву названия файла и краказябру вместо русского названия. А идея в выводе списка всех имен файлов в определённом каталоге #include <windows.h> #include <stdio.h> #include <conio.h> #include <iostream>
оператор break C++
Здравствуйте! Я где-то слышал, что использовать оператор break для выхода из цикла - не хорошо. И что его можно использовать только если без него совсем никак не получается. Я правильно понимаю?
C++ Выходной поток первого числа, второго , суммы первого и второго чисел http://www.cyberforum.ru/cpp-beginners/thread993324.html
Здравствуйте! Помогите пожалуйста написать программу, которая через стандартный входной поток принимает текстовые строки, в каждой из которых через пробел или символ табуляции записана пара действительных чисел (например, "31.528 23.836"), а затем в стандартный выходной поток выводит строки, которые содержат первое число, второе число, сумму первого и второго чисел (например, "31.528 23.836...
C++ Абстрактные классы Объясните пожалуйста почему это не работает и как исправить? cannot declare variable 'b1' to be of abstract type 'classB' because the following virtual functions are pure within 'classB':virtual void classA::Add() #include <iostream> #include <string> #include <cstdlib> using namespace std; подробнее

Показать сообщение отдельно
albannikov
 Аватар для albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 75
01.11.2013, 07:15  [ТС]     Файлы (чтение/запись)
Цитата Сообщение от alsav22 Посмотреть сообщение
нужно сразу после чтения проверять
Спасибо большущее, помогла проверка в начале цикла.
Сейчас другая трудность возникла... содержимое файла копирую во временный файл (tmp.bin)...добавляю новую запись в начало файла (base.bin).. добавляет нормально.. затем из временного файла дописываю всё обратно.. в итоге выводит на экран кракозябры после первой записи... где можно проблему поискать , подскажите пжалста...
запилил временный файл и основоной (после добавления 1 элемента):
временный и главный.rar

Вот краказябры:
Файлы (чтение/запись)
Файлы (чтение/запись)

Вот такая у меня функция :
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
void AddBin()                                                                   // Запись в BIN новой строки
{   
    system("CLS");  
    
    SNew New;
 
    unsigned int kol = KOL;
    int i = 0;  
 
 
    SetColor(14,0);
    cout << "Сейчас запишем :-)" << endl;   
 
    
    
    std::ifstream ifs("base.bin", std::ios::binary);    // На чтение нашего бинарника
    std::ofstream ofs("tmp.bin", std::ios::binary);     // На запись во временный файл, если файл не пустой, то зачистили
    cout << "Очистили временный" << endl; 
    _getch();
    std::copy((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>(), std::ostreambuf_iterator<char>(ofs));
    // Забрали из BASE в TMP
    ifs.close(); // Закрыли
    ofs.close(); // Закрыли
    
    cout << "Забрали из BASE в TMP" << endl; 
    _getch();
    
    
 
    ofstream bfile;
    bfile.open("base.bin", ios_base::binary);       // Открыли файл, указав его имя и тип
    bfile.trunc;
    
    cout << "Очистили BASE" << endl; 
    _getch();
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout << "Тип? :         ";
    cin >> New.tip;
 
    cout << "Фирма? :       ";
    cin >> New.firma;
 
    cout << "Модель? :      ";
    cin >> New.model;
 
    cout << "Год? :         ";
    cin >> New.god;
 
    cout << "Серийный номер? :  ";
    cin >> New.serial;
 
    cout << "Инвентарный номер? :   ";
    cin >> New.inventar;
 
    cout << "Состояние (норм)? :    ";
    cin >> New.sost;
 
    cout << "Рейтинг? :     ";
    cin >> New.sred;
 
    bfile.write ((char *) &kol, sizeof(unsigned int));      
    bfile.write ((char * ) &New, sizeof(SNew));         
    bfile.close();  
    // Новая запись в BIN !>
    cout << "Создали одну запись в BASE" << endl; 
    _getch();
 
 
    std::ifstream nifs("tmp.bin", std::ios::binary);    // На чтение нашего бинарника
    std::ofstream nofs("base.bin", std::ios::app);      // На запись во временный файл, если файл не пустой, то зачистили
    std::copy((std::istreambuf_iterator<char>(nifs)), std::istreambuf_iterator<char>(), std::ostreambuf_iterator<char>(nofs));
    // Забрали из TMP в BASE    
    nifs.close(); // Закрыли
    nofs.close(); // Закрыли
 
    cout << "Забрали из TMP в BASE" << endl; 
    _getch();
 
 
 
    dialog();   
}
 
Текущее время: 17:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru