Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Уважаемые програмисты, помогите примерчиком......

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Helpik (С++Builder)
Гость





СообщениеДобавлено: Вт Апр 15 2003 14:41    Заголовок сообщения: Уважаемые програмисты, помогите примерчиком...... Ответить с цитатой

Как считать с текстового файла информацию в поле мемо, так чтоб брался определенный кусок до определенного символа.
(Скажем, считать все до символа "||", или первые 200 символов. только)

Очень нужно, никак не разберусь как.
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Вт Апр 15 2003 15:32    Заголовок сообщения: Re: Уважаемые програмисты, помогите примерчиком...... Ответить с цитатой

примерно так:
--------------------
char buf[201];
int i=0;
int c;
FILE*fi=fopen("имя_файла", "rb");
c=fgetc(fi);
while(!((c == -1) || (c == '||')) && (i
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Вт Апр 15 2003 15:38    Заголовок сообщения: Забыл, что тут знак "меньше" не известен. Повторяю. Ответить с цитатой

примерно так:
--------------------
char buf[201];
int i=0;
int c;
FILE*fi=fopen("имя_файла", "rb");
c=fgetc(fi);
while(!((c == -1) || (c == '||')) && (i < 200)) {
buf[i++]=(char)c;
c=fgetc(fi);
}
if((c == '||')&& (i < 200)buf[i++]=(char)c;
buf[i]='\0';
fclose(fi);
---------- ----------
результат в buf[]
Вернуться к началу
Helpik (С++Builder)
Гость





СообщениеДобавлено: Ср Апр 16 2003 11:27    Заголовок сообщения: Re: Забыл, что тут знак "меньше" не известен. Повторяю. Ответить с цитатой

а как сделать чтоб:
считать все из файла, но там где стоит "-" поставить перевод сторки. если не ошибаюсь это "/n/r"

Мне нужно поместить в компонент "RadioGroup" все из файла. как это сделать?
разделяю названия я в текстовом файле символом "-" все без пробелов.
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Чт Апр 17 2003 11:58    Заголовок сообщения: Re: Забыл, что тут знак "меньше" не известен. Повторяю. Ответить с цитатой

>>а как сделать чтоб:
>> считать все из файла, но там где стоит "-" поставить перевод сторки. если не ошибаюсь это "/n/r"

В C++ достаточно использовать '\n', компилятор сам учтет '\r\n' в нужных местах, но для этого нужно файл открывать с аргументом "r" или "w" (без "b"), хотя в твоем случае это, по-видимому, не играет роли. Если же открывать с аргументом "b" (то есть "rb" или "wb"), то нужно ставить '\r\n' принудительно, хотя при использовании высокоуровневых функций (fprintf/fget* вместо fwrite/fread) они в некоторых случаях сами об этом позаботятся. Вообще, (моя) общая рекомендация такая: при открытии файла в двоичном режиме (то есть с аргументом "b") использовать функции fread/fwrite и все символы отслеживать самостоятельно, а при открытии файла в текстовом режиме (то есть с аргументом "a" или без этой буквы) использовать функции fget*/fprintf и не заботиться о действительном способе окончания строки.

А твоя программа звучит примерно так:
--------------------
FILE*fi=fopen("имя_файла", "rb");
fseek(fi,0,SEEK_END);
size_t i=ftell(fi);
char*buf=new char[i+1];
fseek(fi,0,SEEK_SET);
fread((void*)buf,1,i,fi);
buf[i]='\0';
for(char*p0=buf;*p;p++)
   if(*p=='-')
     *p='\n';
fclose(fi);
---------- ----------
результат в buf[]
по окончании программы сделать delete[] buf;


>> Мне нужно поместить в компонент "RadioGroup" все из файла.

Не знаю, что это за компонент, но, вероятно, свойству, являющемуся списком элементов списка, присвоить значение buf, хотя по уму должна быть компонентная функция, заносящая значения из текстовой строки в компонент.
Вернуться к началу
Helpik (С++Builder)
Гость





СообщениеДобавлено: Пт Апр 18 2003 10:03    Заголовок сообщения: ОГРОМНОЕ СПАСИБО ЗА ОТВЕТЫ!!! Ответить с цитатой

.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...