Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.51/41: Рейтинг темы: голосов - 41, средняя оценка - 4.51
0 / 1 / 1
Регистрация: 18.02.2012
Сообщений: 244

Парсинг файла

06.07.2012, 21:04. Показов 8006. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот открываю через FILE*, файл ввида

"test"
{
"test1" "test1_1"
"test2" "test2_1"
"test3" "test3_1"
"test4" "test4_1"
}

как мне взять только строку test2_1 (она все время разная),
или просто удалить первые 2 строки, потом 1 строку оставить а остальные удалить,
и затем удалить все до 3-его символа " , а далее удалить последний символ

вот как код написать я незнаю
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2012, 21:04
Ответы с готовыми решениями:

Парсинг файла
Загружаю файл в string, строка в файле только одна, так что масив ненужен. В чем задача стоит? Содержимое файла такое: ...

Парсинг файла .cnf
Доброго времени суток, уважаемые форумчане. Помогите, пожалуйста, конкретным кодом к вот такой подзадаче: нужно прочитать .cnf файл -...

Парсинг строк из файла
Добрый вечер, нуждаюсь в помощи, суть такова. Есть файл в нем есть N-е количество строк такого типа как: 192.168.0.1;user;pass и т.д....

21
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
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;
}
0
0 / 1 / 1
Регистрация: 18.02.2012
Сообщений: 244
06.07.2012, 22:32  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
А что тут можно посоветывать? Читайте книги учитесь...Писать за других программу занятие деструктивное.
ладно разберусь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2012, 22:32

Парсинг строк из файла
Имеется файл с содержанием 3 Text Text2 Text3

Парсинг бинарного файла
Прошу заранее простить за глупые вопросы. Язык только начал изучать и для меня это хобби-поэтому буду благодарен любому совету. Проблема...

typdef struct + парсинг из файла
Собственно такая задача : Надо создать структуру, на основе чтения из файла. От вас готового когда не прошу, если можно - просты ссылки...

Парсинг файла игнорирует числа
Всем добрый день. Пытаюсь прочитать данные из файла 3D модели в формате OBJ. bool L_ObjData::LoadFromFile(string FileName) { ...

Парсинг текстового файла в map
Здравствуйте! Подскажите, пожалуйста, как парсить текстовый файл в map. Например, есть файл, в котором записано следующее: 1 a 2 b 3...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru