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

Парсинг файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Где ошибка в коде? (unresolved external symbol) http://www.cyberforum.ru/cpp-beginners/thread620291.html
Выдает ошибку, помоги найти: lnk2019 unresolved external symbol //#include "stdafx.h" #include <iostream> #include <fstream> using namespace std; struct el//структура под элемент { public:
C++ Двоеточие в конструкторе class A { public: A(): }; Что означает двоеточие и что туда надо писать? http://www.cyberforum.ru/cpp-beginners/thread620290.html
Мультитипная переменная C++
Объясните, пожалуйста, новичку, если не сложно, как создать переменную с несколькими типами возможных данных(или без типа?) на примере... int, double x; // Что должно быть вместо этой строки? cin >> x; cout << x*2;
Мультитипная переменная C++
Объясните, пожалуйста, новичку, если не сложно, как создать переменную с несколькими типами возможных данных(или без типа?) на примере... int, real x; // Что должно быть вместо этой строки? cin >> int; cout << int*2;
C++ Блоки памяти http://www.cyberforum.ru/cpp-beginners/thread620272.html
такая ситуация: выделяю память под массив интов, но пишу там не везеде, в некоторых местах дефолтная "грязь". Потом скидываю это дело на диск в бинарный файл. вижулстудия умеет показывать hex и выводит везде, где грязь CD но курсивно, а не как обычный hex. возникает вопрос: как понять где грязь мне? (точнее как это делает вижулстудия)
C++ Совмещение union и class class A { public: A(){} }; class B { public: B(){} подробнее

Показать сообщение отдельно
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
06.07.2012, 22:30     Парсинг файла
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <map>
#include <cctype>
 
void trim(std::string& str)
{
    while (isspace(*str.begin()))
        str.erase(0, 1);
    size_t i = str.size() - 1;
    while (isspace(str[i]) && str.size() > 0)
            str.erase(i--, 1);
}
 
void trim_ch(std::string& str, char ch)
{
    while (*str.begin() == ch)
        str.erase(0, 1);
    size_t i = str.size() - 1;
    while (str[i] == ch && str.size() > 0)
            str.erase(i--, 1);
}
 
int main()
{
    std::ifstream in("E:\\Temp\\obj.txt");
    std::vector<std::string> obj;
    std::string buf;
    while (std::getline(in, buf, '\n'))
        obj.push_back(buf);
    /* Удаление заголовка и открывающей скобки */
    in.close();
    std::for_each(obj.begin(), obj.end(), trim);
    std::vector<std::string>::iterator it = std::find(obj.begin(), obj.end(), "{");
    it++;
    if (it != obj.end())
        obj.erase(obj.begin(), it);
 
    /* Удаление закрывающей скобки */
    it = std::find(obj.begin(), obj.end(), "}");
    if (it != obj.end())
        obj.erase(it, obj.end());
 
    size_t kpCount = obj.size();
    std::map<std::string, std::string> map;
    for(int i = 0; i < kpCount; i++)
    {
        buf = obj[i];
        int pos = buf.find(' ');
        if (pos != std::string::npos)
        {
            int space_pos = buf.find(' ');
            if (space_pos != std::string::npos)
            {
                std::string key = buf.substr(0, space_pos);
                std::string value = buf.substr(space_pos, buf.size() - space_pos - 1);
                trim(key);
                trim_ch(key, '"');
                trim(value);
                trim_ch(value, '"');
                map[key] = value;
            }
        }
    }
 
    /* Вывод */
    std::map<std::string, std::string>::iterator it_map = map.begin();
    for(; it_map != map.end(); ++it_map)
        std::cout << it_map->first << ": " << it_map->second << std::endl;
    system("pause");
    return 0;
}
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru