Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 16:23   #1
RomzesRover
 
Регистрация: 25.10.2010
Сообщений: 6
По умолчанию Вопрос по C++ (считывание с файла в массив строк)

нужно сделать считывание с файла в массив строк
объявил переменную типа: String ENG[10000];
и считываю так:

Код:
ifstream f("ENG.ini"); //англ массив ENG.ini 
int i; 
for (i = 0; i<1000; i++) { 
 f>>ENG.t_str(); 
 Memo2->Lines->Add(ENG); //выводим в мемо 
}
на выходе в мемо получаю пустые строки!, бьюсь уже пол часа не могу решить), если убрать t_str();, то вообще не компилирует(
RomzesRover вне форума Ответить с цитированием
Старый 26.01.2012, 16:29   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

RomzesRover

на выходе в мемо получаю пустые строки!,

потому что у тебя какая-то лажа написана.

считывание строк делается примерно так:

Код:
while (!f.eof())
{
   std::string s;
   std::getline(f, s);
   Memo2->Lines->Add(s);
}
Rififi вне форума Ответить с цитированием
Старый 26.01.2012, 16:37   #3
RomzesRover
 
Регистрация: 25.10.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
RomzesRover

на выходе в мемо получаю пустые строки!,

потому что у тебя какая-то лажа написана.

считывание строк делается примерно так:

Код:
while (!f.eof())
{
   std::string s;
   std::getline(f, s);
   Memo2->Lines->Add(s);
}

да, написана фигня у меня,но ваш метод тоже не сработал
Код:
Checking project dependencies...
Compiling Project1.cbproj (Debug configuration)
[BCC32 Warning] Unit1.cpp(26): W8012 Comparing signed and unsigned values
  Full parser context
    Unit1.cpp(18): parsing: void _fastcall TForm1::button1Click(TObject *)
[BCC32 Error] Unit1.cpp(76): E2316 'getline' is not a member of 'std'
  Full parser context
    Unit1.cpp(64): parsing: void _fastcall TForm1::FormCreate(TObject *)
[BCC32 Error] Unit1.cpp(77): E2034 Cannot convert 'std::string' to 'UnicodeString'
  Full parser context
    Unit1.cpp(64): parsing: void _fastcall TForm1::FormCreate(TObject *)
[BCC32 Error] Unit1.cpp(77): E2342 Type mismatch in parameter 'S' (wanted 'const UnicodeString', got 'std::string')
  Full parser context
    Unit1.cpp(64): parsing: void _fastcall TForm1::FormCreate(TObject *)
Failed
Elapsed time: 00:00:00.5
у меня если, что RAD 2010
RomzesRover вне форума Ответить с цитированием
Старый 26.01.2012, 16:47   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

да, написана фигня у меня,но ваш метод тоже не сработал

это потому, что в дебилдере 2010 наконец-то опомнились и асилили поддержку юникода.
тебе надо перекодировать полученную строку в юникодовую, либо читать из std::wifstream (но это сложнее, поскольку стандартный фасет малость кривоват и нормально символы не читает)
думаю, лучший способ - воспользоваться классами самого дебилдера - должно же там что-то быть.
Rififi вне форума Ответить с цитированием
Старый 26.01.2012, 20:57   #5
RomzesRover
 
Регистрация: 25.10.2010
Сообщений: 6
По умолчанию

Получилось, сделал так:
Код:
ifstream f("ENG.ini");       //англ массив  ENG.ini
int i; i=1;
char vv[255];

while (!f.eof())
{
   f>>vv;
   ENG[i]=vv;
   Memo2->Lines->Add(ENG[i]);
   i=i+1;
}
Код:
/*главное работает)*/
спасибо за советы, особенно !f.eof(), не знал как в с++ это реализовать )
RomzesRover вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание из файла в массив (delphi) CAMOBAP Помощь студентам 9 27.02.2011 12:07
Считывание чисел из файла в массив rubakKa Общие вопросы C/C++ 11 02.12.2010 21:55
Считывание диапазона строк из файла. Niodar PHP 11 27.02.2010 14:43
Считывание строк из файла Mikimaus Общие вопросы C/C++ 1 05.12.2009 21:05
Считывание строк в массив mc_12 Общие вопросы C/C++ 4 05.01.2009 13:11