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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pominub
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 30
#1

Вытащить нужные данные из файла - C++

22.02.2011, 05:40. Просмотров 892. Ответов 1
Метки нет (Все метки)

Здравствуйте. Такая ситуация:
Нужно 'выцыпить ' нужные данные из файла.
Например:
Текст файла:

34?Вася
56?Петя
78?Коля

Нужно ,допустим, всегда получать параметр Пети - в данном случае это 56.
Знак вопроса (?) - разделитель
Я делаю след образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
while (pFile2->ReadString(string)) // читаем построчно файл
   {
      CString Petya='Петя';
      CStringTokenizer tor(string,FALSE,'?');//взял класс для      разделения строки
                        // c какой-то статьи (работает-проверял)
      if ( CString param1=tor.GetAt(1))==Petya) //Проверяем, является ли вторая часть строки подстрокой 'Петя'
           {
               CString param2=tor.GetAt(0);// Если является, то берём первую часть строки и выводим её(по идее это и должно быть искомое значение)
                AfxMessageBox( param2, MB_OK);
               
            }
       break;
     }
И ничего не получается. Подскажите, что я делаю не так.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2011, 05:40     Вытащить нужные данные из файла
Посмотрите здесь:
Как найти нужные данные в строке? C++
C++ Оставлять в exe-шнике нужные данные для последующих вызывов
Как вытащить данные из объекта? C++
Открыть файл по структуре и вытащить данные C++
Внедрение DLL: Не получается вытащить данные из listview чужой программы. C++
C++ Вытащить текст из файла
C++ Как вытащить информацию с файла в массив
C++ Вытащить имя файла и расширение используя regex
Вытащить функцию распаковки файла из исходников UPX C++
C++ Ввести данные в файл, и записать данные с файла в массив структур
C++ Как создать массив строк, считывая данные из файла (сортировка данных из файла)
C++ Если из файла надо вытащить отдельно цифры и отдельно текст - как?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Meer
0 / 0 / 0
Регистрация: 19.02.2011
Сообщений: 17
22.02.2011, 19:41     Вытащить нужные данные из файла #2
На стандарте С++ для твоего формата файла это можно сделать так (нет привязки к длине параметра):
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
#include <string>
#include <iostream>
#include <fstream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    string str, strParam;
    // имя, для которого будет производиться поиск параметра
    string strGetParamOf('name1');
    ifstream in('1.txt');
    string::size_type pos;
    // читаем файл, пока не достигнут конец файла либо не найдена искомая строка
    while (!in.eof())
    {
        // читаем строку
        in>>str;
        // есть в строке искомое имя?
        pos = str.find(strGetParamOf);
        if (string::npos != pos)
        {
            // строка содержит искомое имя. Извлекаем параметр и вываливаемся из цикла
            strParam = str.substr(0, --pos);
            break;
        }
    }
    in.close();
 
    // выводим имя и параметр
    cout << 'Requested name: ' << strGetParamOf << endl;
    cout << 'Requested parameter: ' << strParam << endl;
 
    getch();
    return 0;
}
Yandex
Объявления
22.02.2011, 19:41     Вытащить нужные данные из файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru