Форум программистов, компьютерный форум 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, h, s; printf("Введите значение длины основания: "); while (!scanf("%f", &b) || getchar() != '\n') {
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 новых элементов с нулевыми значениями. нужен код С++ пожалуйста решите, оооочень надо:gcray:
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
5415 / 4811 / 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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru