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

Работа с двоичными файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужна простая програмка после нажатия на которую будет автоматически скажем в течении 2 мин нажимать ENTER http://www.cyberforum.ru/cpp-beginners/thread755828.html
Нужна простая програмка после нажатия на которую будет автоматически скажем в течении 2 мин нажимать ENTER
C++ Имеется таблица T, состоящая из U структур Имеется таблица T, состоящая из U структур (U определить как константу). Считая, что в таблице структуры имеют разные ключи, описать и использовать в программе процедуру, упорядочивающую структуры таблицы по возрастанию их ключей. Срочно нужно написать прогу. Буду благодарен http://www.cyberforum.ru/cpp-beginners/thread755819.html
Из троичной системы счисления в 9-ю,не переводя все число в 10-ю C++
Помогите пожалуйста написать программу в С++, которая переводит число из 3й системы счисления в 9ю,не переводя все число в 10ю. Если можно попроще,заранее спасибо
Строки. Перевернуть первое слово. C++
перевернуть первое слово в строке по С++. помогите, за 30 минут нужно сделать !!!((
C++ Перевод числа из двоичной в восьмеричную СС http://www.cyberforum.ru/cpp-beginners/thread755812.html
Помогите пожалуйста написать программу на С++ ,которая переводит число из 2й системы счисления в 8ю,не переводя все число в 10ю. Если можно по проще,заранее спасибо
C++ Запись русских символов в char Добрый день господа!!! Мне нужно в поле char name записать 14 русских символов. Вот код: #include <iostream> using std::cout; using std::cin; using std::endl; using std::ios; using std::cerr; подробнее

Показать сообщение отдельно
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
12.01.2013, 19:13     Работа с двоичными файлами
Кстати, раз уж тут тип std::string используется. Как грамотно записать/считать строки в бинарный файл? Ничего умнее, кроме как
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
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::string line;
    std::size_t size;
    
    std::ofstream output("data.bin", std::ios::binary | std::ios::out);
    while (std::cin >> line) 
    {   
        size = line.size();
        output.write(reinterpret_cast<char*>(&size), sizeof(std::size_t));
        output.write(line.c_str(), size);
    }
    output.close();
    
    
    std::ifstream input("data.bin", std::ios::binary | std::ios::in);
    char * temp;
    
    while(!input.eof())
    {   
        
        input.read(reinterpret_cast<char*>(&size), sizeof(std::size_t));
        
        if(!input.eof())
        {
        
            temp = new char[size + 1];
            input.read(temp, size);         
            temp[size] = '\0';
            
            line = temp;
            delete [] temp;
            
            std::cout << "size = " << size << "\t string = " << line << "\n";
        }
    }
    input.close();
    
    return 0;
}
в голову не приходит (примерно, особо не тестировал). Или может не стоит так извращаться?
 
Текущее время: 21:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru