powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как загрузить файл в ОП и работать с ним ? С++
5 сообщений из 5, страница 1 из 1
Как загрузить файл в ОП и работать с ним ? С++
    #38116309
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пишу программу для подсчета слов, символов, пробелов.

мне ее надо написать что бы она работала как можно быстрея.

если это можно , я хочу загрузить файл в ОП и там уже с ним работать, обходя жесткий диск.

В С++ я новичок

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<time.h>


void main()
{
ifstream if_fFile("C:\\text.txt");

clock_t begin = clock();

char ch;
bool bFlags = true;

int nKolWord = 0, nKolSpace = 0, nKolChar = 0;

if(if_fFile.is_open())
while(!if_fFile.eof())
{
if_fFile.get(ch);

if(ch != ' ')
{
nKolChar++;

if(bFlags && ch != '\n')
{
nKolWord++;
bFlags = false;
}
}else
{
nKolSpace++;
bFlags = true;
}
}

if_fFile.close();

cout<<"nKolWord: "<<nKolWord
<<endl
<<"nKolSpace: "<<nKolSpace
<<endl
<<"nKolChar: "<<nKolChar
<<endl;

cout<<"Time: "<<static_cast<float>((clock() - begin) / CLOCKS_PER_SEC);


getch();
}
...
Рейтинг: 0 / 0
Как загрузить файл в ОП и работать с ним ? С++
    #38116345
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,
Почитайте о Memory Mapped Files.
...
Рейтинг: 0 / 0
Как загрузить файл в ОП и работать с ним ? С++
    #38116352
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Считать в память файл можно так:
Код: plaintext
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.
#include <iostream>
#include<fstream>

using namespace std;

int main()
{
    ifstream if_fFile("d:\\text.txt");
    if(!if_fFile.is_open()) return 1;

    // определяем размер файла
    if_fFile.seekg (0, ios::end);
    int length = if_fFile.tellg();
    if_fFile.seekg (0, ios::beg);
    cout<<"length="<<length<<endl;

    // создаем буфер в памяти
    char *buf=new char[length];

    // читаем файл в память
    if_fFile.read(buf,length);

    if_fFile.close();

    // выводим прочитанный файл
    cout.write (buf,length);

    delete[] buf;

    return 0;
}
...
Рейтинг: 0 / 0
Как загрузить файл в ОП и работать с ним ? С++
    #38116558
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323Я пишу программу для подсчета слов, символов, пробелов.

мне ее надо написать что бы она работала как можно быстрея.

если это можно , я хочу загрузить файл в ОП и там уже с ним работать, обходя жесткий диск.


ИМХО, бессмысленное занятие. Для того, чтобы записать файл в память, нужно его вычитать
хотя бы один раз. Проще сразу во время чтения подсчитать все необходимое.
...
Рейтинг: 0 / 0
Как загрузить файл в ОП и работать с ним ? С++
    #38116674
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323, прогружать в память нет смысла. Твоя задача решается
вычитыванием (посимвольно или построчно или поблочно) всего
файла и учётом пробельных, не-пробельных символов, и просто
всех символов. Такая лаконичность в реализации - привествуется.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как загрузить файл в ОП и работать с ним ? С++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]