0 / 0 / 0
Регистрация: 07.09.2016
Сообщений: 19

Обработка файлов произвольного доступа

13.06.2017, 13:20. Показов 2012. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать файл, содержащий массив указателей на упорядоченные в алфавитном
порядке строки, представленные записями переменной длины. Реализовать функцию
поиска строки по строке-образцу, начало которой совпадает с искомой строкой.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2017, 13:20
Ответы с готовыми решениями:

Ошибка при чтении/записи файлов произвольного доступа при данных 0x0A (получается 0x0D0A)
Программа формирует, читает, модифицирует файл произвольного доступа. вот задание на программу: Дана последовательность b1...b40....

Файл произвольного доступа
Здравствуйте, снова к файлам, такая задача. Допустим, у меня есть текстовый файл с данными - код, название, количество, и со значениями...

Файл произвольного доступа
Очень прошу помощи так как не могу с ними разобраться который день, видать делаю одну и ту же ошибку но не нахожу. Создаю свой класс и...

3
14.06.2017, 16:47
 Комментарий модератора 
snaisee, запрещено дублировать темы
0
0 / 0 / 0
Регистрация: 07.09.2016
Сообщений: 19
20.06.2017, 12:29  [ТС]
Может кто знает как упростить?
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
86
87
88
89
90
91
92
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
fstream file;
int quantity = 0;
void sort(){
    int n = 0, temp = 0, c = 0, c1 = 0;
    char str[32] = {}, str1[32] = {}, str2[32] = {};
    file.open("file.dat",ios::in | ios::binary | ios::out);
    for (int j = 0; j < quantity-1; j++) {
        for (int i = 0; i < quantity-j-1; i++) {
            file.seekg(sizeof(int) + (sizeof(str)*(i)));
            file.read((char*)&str, sizeof(str));
            file.seekg(sizeof(int) + (sizeof(str)*(i + 1)));
            file.read((char*)&str1, sizeof(str));
            temp = strcmp(str1, str);
            if (temp<0) {
                file.seekp(sizeof(int) + (sizeof(str)*(i)));
                file.write((char*)&str1, sizeof(str));
                file.seekp(sizeof(int) + (sizeof(str)*(i + 1)));
                file.write((char*)&str, sizeof(str));
            }
        }
    }
    n = 0;
    cout << "Sorted records :" << endl;
    for (int i = 0; i < quantity; i++) {
        file.seekg(sizeof(int) + (sizeof(str)*(n)));
        file.read((char*)&str, sizeof(str));
        cout << "record # " << n + 1 << "  " <<str<<endl;
        n++;
    }
    n = 0;
 
    file.close();
}
 
void search() {
    int n = 0, temp = 0, c = 0, c1 = 0;
    char str[32] = {},str2[32] = {};
    file.open("file.dat", ios::in | ios::binary | ios::out);
    cout << "Enter sample string: ";
    cin >> str2;
    for (int i = 0; i < 32; i++) {
        if (str2[i] != 0)
            c1++;
    }
    for (int i = 0; i < quantity; i++) {
        file.seekg(sizeof(int) + (sizeof(str)*(n)));
        file.read((char*)&str, sizeof(str));
        for (int j = 0; j < 32; j++) {
            temp = 1;
            if (str[j] != str2[j]) {
                temp = 0;
                break;
            }
            else {
                c++;
            }
        }
        if (c == c1) {
            cout << "record # " << n + 1 << "  " << str << endl;
        }
        temp = strcmp(str2, str);
        if (temp == 0) {
            cout << "record # " << n + 1 << "  " << str << endl;
        }
        c = 0;
        n++;
    }
    file.close();
}
 
void main(){
    char str[32]={};
    cout << "Quantity records:";
    cin >> quantity;
    file.open("file.dat", ios::out);
    file.seekp(0);
    file.write((char*)&quantity, sizeof(quantity));
    for (int i = 0; i < quantity; i++){
        file.seekp((sizeof(str)* i) + sizeof(quantity));
        cout << "record # " << i + 1 << " ";
        cin >> str;
        file.write((char*)&str, sizeof(str));
    }
    file.close();
    sort();
    search();
    system("pause");
}
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
20.06.2017, 20:57
Цитата Сообщение от snaisee Посмотреть сообщение
Создать файл, содержащий массив указателей
И где, у тебя, массив указателей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.06.2017, 20:57
Помогаю со студенческими работами здесь

Файл произвольного доступа
Читаю Дейтелов, про файлы произвольного доступа. Написал вроде как по примеру, но что-то идет не так. Идея такая - создается файл, в нем...

Детектировать итератор произвольного доступа
здравствуйте, нужно детектировать итератор произвольного доступа... это не работает: template&lt; typename... &gt; using void_t =...

Пишу итератор произвольного доступа
Пишу итератор произвольного доступа. По минимуму он должен поддерживать несколько операций, но меня смутила операция n+it, где n это целое...

Deque - сложность произвольного доступа
Тут написано: как так? Я привык считать, что дек - хранится двусвязным списком....

Создание файла произвольного доступа
Здравствуйте.Ни как не могу разобраться с файлами произвольного доступа.Но эта тема посвящена именно созданию таких файлов. #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru