Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построчное сравнение 
:(
    Опции темы
Leno4kaZaraza
Дата 9.6.2011, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте! У меня возникла вот какая проблема. Мне необходимо сравнить значение из Edit  и строки из файла. 

Вот что я написала:
 f.open (1.txt);
char stroka [25];
while (!f.eof ())
{
if ((Edit1->Text == f.getline (stroka, 25)) && (Edit2->Text == f.getline(stroka, 25)))
{
ShowMessage ("Они равны!");
}
else
ShowMessage ("Они не равны");
}

Оно мне выдает ошибку. Помогите, пожалуйста, разобраться что тут не так
PM MAIL   Вверх
Данкинг
Дата 9.6.2011, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Leno4kaZaraza @  10.6.2011,  00:39 Найти цитируемый пост)
Оно мне выдает ошибку. 

Какую?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
xvr
Дата 10.6.2011, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Вопрос на засыпку - что возвращает
Цитата(Leno4kaZaraza @  9.6.2011,  23:39 Найти цитируемый пост)
f.getline (stroka, 25)
, и с какого перепугу оно должно быть равно строке?


PM MAIL   Вверх
AntonChik
Дата 20.6.2011, 06:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



скорей всего надо 
Код

if ((Edit1->Text.c_str() == f.getline (stroka, 25)) && (Edit2->Text.c_str() == f.getline(stroka, 25)))

--------------------
"Человек притаился за деревом. За широким огромным деревом. Он выглядывал тихонько и прятался. Но его никто не преследовал." (с) Хорги 
PM MAIL   Вверх
xvr
Дата 20.6.2011, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(AntonChik @ 20.6.2011,  06:56)
скорей всего надо 
Код

if ((Edit1->Text.c_str() == f.getline (stroka, 25)) && (Edit2->Text.c_str() == f.getline(stroka, 25)))

Вы это специально, что бы ТС запутать?  smile Или просто по незнанию?  smile 

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


Бывалый
*


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

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



по незнанию.
еще вариант:
Код

f.getline (stroka, 25);
bool a= (Edit1->Text.c_str() == stroka) ;
f.getline (stroka, 25);
bool b= (Edit2->Text.c_str() == stroka) ;
if(a&&b)ShowMessage ("Они равны!");
else ShowMessage ("Они не равны");

--------------------
"Человек притаился за деревом. За широким огромным деревом. Он выглядывал тихонько и прятался. Но его никто не преследовал." (с) Хорги 
PM MAIL   Вверх
xvr
Дата 20.6.2011, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(AntonChik @  20.6.2011,  10:55 Найти цитируемый пост)
еще вариант:

Вариант тоже неправильный. У ТС stroka описан как массив символов. Конструкция Edit1->Text.c_str() == stroka сравнит между собой 2 указателя, а не сами строки. Они никогда не будут равны.
Конструкция Edit1->Text == stroka отработает правильно - она сделает из строки символов AnsiString и сравнит 2 класса AnsiString, а у этого класса есть соответствующий оператор сравнения  smile 

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

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

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

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

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


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

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


 




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


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

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