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

Обработка текстового файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread28180.html
В русском языке как, правило после букв Ж, Ч, Ш, Щ, пишется И, А, У, а не Ы, Я, Ю, (за исключением слов ЖЮРИ, БРОШЮРА, ПАРАШЮТ). Проверить заданный текст на соблюдение этого правила и исправить ошибки. При проверке регистр букв не учитывать. Слова, в которых были исправлены ошибки, вывести прописными буквами. В тексте в каждой строке слова разделены произвольным количеством проббелов. Пробелы...
C++ Длинная арифметика нужен текст програмы на С, в которой был бы реализован алгоритм ввода-вывода длинного числа, разности двух длинных чисел и их сравнение. http://www.cyberforum.ru/cpp-beginners/thread28167.html
Преобразование типов C++
Вопрос по преобразованию строки в число , и наоборот . Например на форме расположен MaskedTextBox , Button и Label . Как при нажатии на кнопку извлечь данные из MaskedTextBox преобразовать в число , произвести какое нибудь действие(например умножение на 2) и результат записать в Label? В консольном приложении это просто сделать при помощи функций atoi , itoa . Здесь компилятор "ругается" и...
C++ Найти ошибку в задаче с файлами
Помогите, пожалуйста, совместить две программы в одну. Отдельно работают, я запуталась с входными и выходными потоками. Подскажите где ошибка. В одной программе создается файл К1, затем он же записывается в файл К11, затем из К11 записываются два файла В и С (определенным образом). А в другой программе файл К11 перезаписывается определенным образам содержимым из файлов В и С. ...
C++ [Linker Fatal Error] Fatal: Unable to open file 'CXGRIDVCLC6.LIB' http://www.cyberforum.ru/cpp-beginners/thread28147.html
Установил компоненты DevExpress, вроде все нормально, но при компиляции нового проекта выдает: Fatal: Unable to open file 'CXGRIDVCLC6.LIB' помогите пожалуйста.
C++ СИ++ Найти ошибку в задаче на файлы Помогите, пожалуйста, совместить две программы в одну. Отдельно работают, я запуталась с входными и выходными потоками. Подскажите где ошибка. В одной программе создается файл К1, затем он же записывается в файл К11, затем из К11 записываются два файла В и С (определенным образом). А в другой программе файл К11 перезаписывается определенным образам содержимым из файлов В и С. ... подробнее

Показать сообщение отдельно
vladko
0 / 0 / 0
Регистрация: 31.03.2009
Сообщений: 44

Обработка текстового файла - C++

31.03.2009, 11:44. Просмотров 1766. Ответов 11
Метки (Все метки)

Есть функция в dll, которая обрабатывает текстовый файл и записывает результат в другой. Формат файла:

1.3446 11
1.325 876
1.3567 32
...


Код
#include <stdio.h>
#include <map>
using namespace std;

typedef map<double, int> Map;

extern "C"
{
void __stdcall proc1(const char* fileName)
{
    FILE* f = fopen(fileName, "r");
    if(!f)
    {
        printf("file not found\n");
        return;
    }
    Map m;
    for(;;)
    {
        double a;
        int b;
        if(fscanf(f, "%lf %d", &a, &b) < 2)
            break;
        pair<Map::iterator, bool> result = m.insert(pair<double, int>(a, b));
        if(!result.second)
            (result.first)->second += b;
    }
    fclose(f);

    char outFileName[264];
    strcpy(outFileName, fileName);
    strcat(outFileName, ".out");

    f = fopen(outFileName, "w");
    for(Map::iterator it = m.begin(); it != m.end(); ++it)
        fprintf(f, "%f %d\n", it->first, it->second);
    fclose(f);
}
}
Формат текстового файла изменился:

20090320 010013;1.3666;1
20090320 010017;1.3667;1
20090320 010017;1.3668;2
20090320 010021;1.3666;1
20090320 010027;1.3667;1
20090320 010057;1.3667;1
Как изменить функцию и добавить вычисления не по всему файлу а по куску ограниченному датой и временем (1 и 2 поля)?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru