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

База на онове txt файла - C++

Восстановить пароль Регистрация
 
pominub
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 30
17.02.2011, 01:30     База на онове txt файла #1
Здравствуйте. У меня такая ситуация:
Допустим имеется диалог, на котором несколько EditBoxов
и ListCtrl. Каждая строка, находящаяся в списке имеет свои параметры,
которые высвечиваются в EdiBox`ах при её выборе в списке.
То есть, добустим кликнул на строку, и в EdiBox`ах появились её параметры, и
так для каждой строки.

Напримерданные в текстовом файле)
строка1::параметр1::параметр2::параметр3... и т д.
Понятно, что при выборе строки надо считать её параметры из файла и засунуть в
EdiBox`ы. Только непонятно , как различать вообще данные в текстовом файле,
какие функции для этого есть???Как распознавать разделители(:???

Заранее благодарен за ответы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2011, 01:30     База на онове txt файла
Посмотрите здесь:

C++ отладить программу на языке С++, которая считывает из файла a.txt строку и записывает её в файл b.txt в обратном порядке
C++ В файле input.txt содержатся сведения о группе студентов. переписать данные файла в файл output.txt, отсортировав их по возрастанию
C++ Переписать данные файла input.txt в output.txt, отсортировав их
C++ Переписать данные файла input.txt в output.txt, отсортировав их
Сформировать из файла f4.txt файл g.txt C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SevaB
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 39
17.02.2011, 13:29     База на онове txt файла #2
Как различать данные в тестовом файле?
Читаете строку: fgets
Потом в цикле разбираете полученное:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char *str; // прочитанная строка
char *s; // строка, которая помещается в editbox
s=str;
while (str[0])
{
  if (str[0]==':') 
  {
    str[0]=0;
    if (s[0])
      put_string_in_editbox(s); // засовываем строку куда надо
    s=str+1;
  }
  str++;
}
Наверное где-то так. Не тестил.
np_msn
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 46
20.02.2011, 13:05     База на онове txt файла #3
Привет.
Вот маленький, но работающий пример:
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
//--------------------------------------------------------------------
#include <string.h>
#include <stdio.h>
//--------------------------------------------------------------------
#define DELIMITER ':'
#define MAX_STR 1024
//--------------------------------------------------------------------
int main()
{
    FILE* db_file;
    char buf[MAX_STR];
    char params[10][MAX_STR]; // сюда будем складывать параметры
    char* pos;
    char* token;
    char* key = 'erunda';       // для примера
    int i;
 
    if ((db_file = fopen('111.txt', 'rt')) == NULL)
        return 1;
 
    while (fgets(buf, MAX_STR, db_file) != NULL)
    {
        pos = buf;
        // удаляем символ конца строки
        if ((pos = strchr(buf, '
')) != NULL)
            *pos = ''
 
        pos = buf;
        // пропускаем лишние пробелы (если есть)
        while (*pos == ' ' || *pos == ' ')
            pos++;
 
        if (*pos == '')  // пустая строка
            continue;
        // получение строки
        token = strtok(pos, DELIMITER);
 
        if (strcmp(token, key) == 0)
        {
            // получение параметров
            while ((token = strtok(NULL, DELIMITER)) != NULL)
                strcpy(params[i++], token);
 
            break;
        }
    }
 
    fclose(db_file);
    // делаем что-то с params
    // ...
    return 0;
}
//---------------------------------------------------------------------------
pominub
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 30
20.02.2011, 16:28  [ТС]     База на онове txt файла #4
Спасибо.
Yandex
Объявления
20.02.2011, 16:28     База на онове txt файла
Ответ Создать тему
Опции темы

Текущее время: 12:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru