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

создать нетипизированный файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Защита от переполнения http://www.cyberforum.ru/cpp-beginners/thread805455.html
Ребят помоги создать защиту от переполнения через функцию scanf_s и убрать нолики в конечном ответе, вот код: #include <stdio.h> #include <iostream> int main () { setlocale(0, "rus"); float b,...
C++ дан файл целых чисел, содержащий четное количество элементов. удалить из файла вторую половину элементов дан файл целых чисел, содержащий четное количество элементов. удалить из файла вторую половину элементов, очень нужен код в С++ помогите пожалуйста:cry: http://www.cyberforum.ru/cpp-beginners/thread805454.html
C++ Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10)
Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями. нужен код С++ пожалуйста решите, оооочень...
C++ Преобразовать строку s в верхний регистр и переписать результат в строку S1
дана строка s в нижнем регистре. преобразовать строку s в верхний регистр и переписать результат в строку S1. Вывести строку S1 на экран. Пожалуйста решите, нужен код в С++ я в нем ничего не...
C++ Описание класса с именем TRAIN http://www.cyberforum.ru/cpp-beginners/thread805426.html
Задание 1: Описание класса. Запишите описание класса с именем TRAIN, содержащего следующие поля: 1)название пункта назначения; 2)номер поезда; 3)время отправления. Скройте элементы-данные...
C++ Обрезается число #include "stdafx.h" #include <string.h> #include <conio.h> #include <iostream> #include <locale.h> #include <cmath> #include <conio.h> using namespace std; подробнее

Показать сообщение отдельно
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.03.2013, 15:21
Если нужна именно бинарная запись/чтение (хотя если в файле текст, то непонятно зачем):
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <fstream>
#include <string>
#include <set>
#include <cstdlib>
using namespace std;
 
int main ()
{
    string strin = "asdfghyrterwuqi weydufjsmnnw zxcvb mkfloeiwy";
    
    // бинарная запись текста в файл
    ofstream fout("fin", ios::binary);
    for (int i = 0; i < strin.size(); ++i)
        fout.write((const char*)&strin[i], sizeof(char));
    
    fout.close();
    
    // бинарное чтение файла (символы помещаются в multiset)
    ifstream fin("fin", ios::binary);
    
    multiset <char> m;
    char n;
    while (true)
    {
        fin.read((char*)&n, sizeof(char));
        if (fin.eof()) break;
        m.insert(n);
    }
    fin.close();
    
    // бинарная запись отсортированных по возрастанию кодов символов в файл
    fout.open("fout", ios::binary);
    for (auto i = m.begin(); i != m.end(); ++i)
        fout.write((const char*)&(*i), sizeof(char));
    fout.close();
 
    // чтение и вывод созданного файла
    fin.open("fout", ios::binary);
    while (true)
    {
        fin.read((char*)&n, sizeof(char));
        if (fin.eof()) break;
        cout << n;
    }
    
    fin.close();
    
    cout << endl;
    system("pause");
    return 0;
}


Если запись и чтение в текстовом режиме:
Кликните здесь для просмотра всего текста
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>
#include <set>
#include <cstdlib>
using namespace std;
 
int main ()
{
    string strin = "asdfghyrterwuqi weydufjsmnnw zxcvb mkfloeiwy";
    
    ofstream fout("fin");
    fout << strin;
    
    fout.close();
    
    ifstream fin("fin");
    
    multiset <char> m;
    char n;
    while (true)
    {
        fin.get(n);
        if (fin.eof()) break;
        m.insert(n);
    }
    fin.close();
    
    fout.open("fout");
    for (auto i = m.begin(); i != m.end(); ++i)
        fout << char(*i);
    fout.close();
 
    fin.open("fout");
    string strout;
    
    getline(fin, strout);
    fin.close();
 
    cout << strout << endl;
    
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru