Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ворпос по перебору символов в строке, Что не правильно 
:(
    Опции темы
WhiteSpirit
Дата 31.10.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Необходимо получить строку из txt файла, отформатировать её и занести в StringGrid

Код

void __fastcall TfmMain::ReadHead()
{
        FILE *file;
        if((file=fopen(edFile->Text.c_str(), "rt"))==NULL)
        {
                ShowMessage("Ôàéë íå óäàåòñÿ îòêðûòü");
        }
        else
        {

        const int Ind=8;
        char *s=new char[80];
        char *header[Ind];
        int i=0, j=0;
        fgets(s, 80, file);
        while(*(s+j)!='\0')
        {
                if(*(s+j)=='<')
                {
                        j++;
                        while(*(s+j)!='>')
                        {
                                (header[i]+j)=(s+j);
                        }
                        SG->Cols[i+1]->Strings[0]=*header[i];
                        i++;
                }
        }

        fclose(file);
        }

}



Данный код не работает.

В чем проблема, укажите пожалуйста на ошибку
--------------------
To beer or no to beer
PM MAIL   Вверх
codelord
Дата 31.10.2005, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



WhiteSpirit Тут экстрасенсов нет, если твой код не работает как ты хочешь чтобы поняли каким образом надо отформатировать строку ??????...


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
WhiteSpirit
Дата 31.10.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



сорри за сумбур:-)

Суть в следующем:

в текстовом файле есть строка:
<TICER><DATE><CLOSE>...<VOLUME>

Необходимо взять эту строку и вставить в качестве заголовков столбцов в StringGrid

Далее идут строки с данными, но до этого ещё дойти нада.
Добавлено @ 15:28
В смысле заголовки должны быть типа: TICER DATE и т.д.
--------------------
To beer or no to beer
PM MAIL   Вверх
BreakPointMAN
Дата 1.11.2005, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 6
Всего: 24



Проблема в том, что ты не умеешь работать со строками, указателями, выделять память и еще много в чем... Советую полностью пересмотреть логику работы функции.


--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
WhiteSpirit
Дата 1.11.2005, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



BreakPointMAN согласен, опыта совсем мало. А не посоветуете что почитать? (есть в наличии Подбельский(С++) и Архангельский (Builder), также Страуструп). Где это лучше описано?

А также хотелось бы уточнить от чего отталкиваться в построении данного алгоритма?
--------------------
To beer or no to beer
PM MAIL   Вверх
_hunter
Дата 1.11.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



что "это"? как символ читать? где угодно одинаково. как строку парсить? думаю, нигде из перечисленных источников...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
WhiteSpirit
Дата 1.11.2005, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



а можно ссылочку по данному вопросу?
--------------------
To beer or no to beer
PM MAIL   Вверх
codelord
Дата 1.11.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Вот набросал конечно не лучший вариант, думаю можно использовать структуры.
для проверки должен быть файл new.txt в котором будет строка которую раскладываем(только первую строку, но легко и адаптировать.).. в файле end.txt будут полученные слова.
Код

//Создадим Файл и поместим туда слова заключенные в уголки :)..
// в файле new.txt слова заключенные в уголки.
#include <stdio.h>
void main()
 {
   FILE *in, *out;
   in=fopen("new.txt","r");
   out=fopen("end.txt","w");
   char buf[500];
   char slovo[50];
   fgets(buf,500,in);   
   int m=0,z=0,i=0;
   for(i;buf[i]!='\0';i++)
      {
      if(buf[i]=='<'){m=1; continue;}
      if(buf[i]=='>')
           {
              slovo[z]='\0';
             m=0;
              z=0;
              fputs(slovo,out); // тут слово между уголками
              fputc('\n',out); // для наглядности вставляем новую строку.
           }
      if(m) 
           {
           slovo[z]=buf[i];
           z++;
           }      
      }
fclose(in); fclose(out); 
 }

никаких проверок не делал ...


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
WhiteSpirit
Дата 1.11.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



codelord спасибо за помощь и терпение, к сожалению пока рейтинг добавить не могу (нет 100 постов).

Ну а всё таки мож кто подкинет ссылочку про парсинг на С++?
--------------------
To beer or no to beer
PM MAIL   Вверх
_hunter
Дата 1.11.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98





--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.