Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод текста из фаила в мемо 
V
    Опции темы
rthsobakas
Дата 28.3.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

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



Код

  UnicodeString stroka;
   while (!feof(finp))
    {
     fscanf(finp," %s ",stroka);
     Memo1->Lines->Add(stroka);
    }

код не катит.
First chance exception at $75C942EB. Exception class EAccessViolation with message 'Access violation at address 329A7477 in module 'CC3290MT.DLL'. Write of address 00000000'. Process Project2.exe (6116)

как вывести из фаила в мемо текст?
PM   Вверх
Klin
Дата 28.3.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

Memo1->Lines->LoadFromFile("ИМЯ_ФАЙЛА");



--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Gradov
Дата 28.3.2009, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В функцию fscanf для чтения строки нужно передавать в качестве параметра укзатель на буфер типа char достаточного размера. Типа:

Код

FILE *f;
char str[1024];
.........
fscanf(f," %s ",str);
а лучше 
fgets(str,1024,f);


Это сообщение отредактировал(а) Gradov - 28.3.2009, 20:47
PM MAIL   Вверх
rthsobakas
Дата 28.3.2009, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

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



Klin, загрузил тока 1 строку... типо не весь фаил что ли грузит?
PM   Вверх
Klin
Дата 28.3.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Ты экзешник что-ли пытаешься загрузить или вордовский файл??


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
rthsobakas
Дата 28.3.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

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



Klin, 
текстовый фаил. а что? зашифрованный))
PM   Вверх
CaLaT
Дата 28.3.2009, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 29.6.2008
Где: Город родной - Пи тер я твой!

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



Читаем потоком
Код

while(!file.eof())
{
 file.getline(buff, sizeof(buff));
Memo1->Lines->Add(buff);
}


Добавлено @ 22:28
Также можно не ограничивать длину строки, считав файл в бинарном режиме в поток допустим

Это сообщение отредактировал(а) CaLaT - 28.3.2009, 22:28
PM MAIL   Вверх
rthsobakas
Дата 28.3.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

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



CaLaT,  file.eof что это за структура(компилятор типо пишет вопрос такой)?
buff какой тип у него?
PM   Вверх
CaLaT
Дата 28.3.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 29.6.2008
Где: Город родной - Пи тер я твой!

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



Вот целиком код
(пишу от руки, могут быть опечатки, если что скажешь))
Код

#include <fstream.h>
...
char buff[1024]; //максимальная длинна в считываемой строке
...

функция нажатия клавиши(Сэндер)
{
ifstream file("c:\\1.txt");
if(!file)
 return;
while(!file.eof())
{
 file.getline(buff, sizeof(buff));
Memo1->Lines->Add(buff);
}
file.close();
}

PM MAIL   Вверх
rthsobakas
Дата 29.3.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

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



мде.... понятно что 1 какой то встроееной ф-ии нет.
Код

char stroka[1];
if (( finp = fopen("Var.txt","rb")) == NULL){
 ShowMessage("Загрузить  фаил не удалось! Var.txt должен быть в каталоге с программой!");
 exit(1);
 }
 UnicodeString st="";
  while (!feof(finp)){
    fgets(stroka,2,finp);
    st=st+(UnicodeString)stroka;
    }

 Memo1->Lines->Add(st) ;

 fclose(finp);

PM   Вверх
mrbrooks
Дата 29.3.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



rthsobakas, суровый подход  smile 

Конечно любопытно почему не подошел стандартный метод
Код

Memo1->Lines->LoadFromFile("Var.txt");

Возможно файл сохранен в юникоде, тогда загружать его следует так:
Код

Memo1->Lines->LoadFromFile("Var.txt", TEncoding::Unicode);


Что же касается общего случая предлагаю все же использовать файловый поток ввод/вывод в стиле С++(то что предложил CaLaT), с небольшой доработкой.
Код

#include <fstream>
#include <string>

std::ifstream file("text.txt");

if (file)
{
  std::string str;
  while (std::getline(file, str, '\n'))
            Memo1->Lines->Add(str.c_str());
 file.close();
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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