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

Есть очень много маленьких текстовых файлов необходимо слить в один файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Однонаправленный список. Операции: удалить элемент из заданной позиции, добавить элемент в заданную позицию,проверка на неравенство http://www.cyberforum.ru/cpp-beginners/thread1063336.html
Помогите. Есть одна написанная. Условия: Очередь. Операции: “+” добавить элемент ; “-“ удалить элемент ; bool() проверка «Пуста ли очередь?» В ней все работает, все запускается, не могу переделать на вот это УСЛОВИЕ: Однонаправленный список. Операции: “” удалить элемент из заданной позиции int i;
C++ Как проверить работает ли системный динамик на ноутбуке в студии вставляю код, но не чего не слышно #include <windows.h> int main() { Beep(247, 500); Beep(417, 500); Beep(417, 500); Beep(370, 500); Beep(417, 500); Beep(329, 500); http://www.cyberforum.ru/cpp-beginners/thread1063333.html
C++ Архивирование файлов
Всем привет. Цель: сжать и запаролить файл (бинарный). Сейчас используется передача параметров в 7z.exe, запуск 7z производиться с помощью CreateProcess. Хочется избавиться от зависимостей в конечном приложении (ну или как максимум таскать за собой dll). В проекте используется boost, но там только сжатие, как повесить пароль не придумал. Пробывал 7z.dll, lib7zip, но не разобрался. Ткните носом, в...
C++ Проект
Всем привет!) Подкиньте идею какой проект можно сделать используя GTK+ и MVS2008.)) p.s. текстовые редакторы и шифрование не подходит( чтобы было очень интересное и простое)
C++ Из первой строчки убрать слова, которые встречаются во второй http://www.cyberforum.ru/cpp-beginners/thread1063309.html
Пользователь вводит с клавиатуры 2 строки. Из первой строчки убрать слова, которые встречаются во второй. Например: 1:user,internet,soft,it 2:computer,test,soft,c++,user 3:internet,it Вот что вышло:
C++ Закомпелировать торрент файт с exe Здравствуйте. Может я спрашиваю что то не то или не в том разделе, но мне нужно, сделать файл расширения exe, что при его открытии у пользователя запускался торрент(торрен клиент установленный у него на компьютере) и начинался скачиваться файл. Суть, чтобы на прямую нельзя было добраться до этого торрент файла. Спасибо. подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.01.2014, 06:27     Есть очень много маленьких текстовых файлов необходимо слить в один файл
Я вот на таком коде пробую (в студии 10). В файле 1000000 строк, размер каждой - около 45 символов. Размер файла 46.7мгб.
Если построчно: Debug - 0.83, Release - 0.5.
Если блоком, размером в файл: Debug - 0.84, Release - 0.813.
Получается, что самое быстрое - построчно, и именно в Release (оптимизация там для построчного лучше сделана или что, не знаю. Оптимизация выставлена - максимальная скорость).
Кликните здесь для просмотра всего текста
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
include <iostream>
#include <string>
#include <ctime>
#include <fstream>
 
using namespace std;
 
const int N = 1000000; // количество строк в файле
const int L = 500;     // длина строки
 
void createfile() //создание файла для теста
{
    string str = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
    ofstream fout("file1.txt");
    for (int i = 0; i < N; ++i)
    {
        fout << i + 1;
        fout << str << endl;
    }
    fout.close();
}
 
int main()
{
    //createfile(); //создание файла для теста
    
    clock_t t1 = clock();
    FILE *fin = fopen("file1.txt", "rb"); // в бинарном быстрее
    
    if (!fin) printf("Error!\n");
    else
    {
        FILE *fout = fopen("file2.txt", "wb");
        
        // построчно
      //begin...............................
        
        char str1[L] = {'\0'};       
        while (fgets(str1, L, fin)) 
                fputs(str1, fout);
      //end ...................................     
        
        // блоком, размером с размер файла
     //begin...............................
        
        /*fseek(fin, 0, SEEK_END); 
        int size = ftell(fin);
        char * buffer = (char*) malloc(size);
        
        rewind(fin);
        fread(buffer, 1, size, fin);
        fwrite(buffer, 1, size, fout);
        free(buffer);*/
     
     //end ...................................  
        
        fclose(fout);
        fclose(fin);
        
        clock_t t2 = clock();
        printf("%f\n", (t2 - t1 + .0) / CLOCKS_PER_SEC); // время отработки
    }
  
    system("pause");
    return 0;
}
 
Текущее время: 11:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru