Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Почему-то текст \"Text\" не равен файлу, в котором написано \"Text\"

389
24 августа 2002 года
Dmitri
69 / / 20.08.2000
Моя программа читает из файла текст и сранивает его с переменной. Переменная char* Text="Text", в файле содержимое: Text Но при сравнении if(Text==File) условие не выполняется. Может это из-за того, что в файле еще содержится eof? Как сделать так, чтобы условие выполнялось?
389
24 августа 2002 года
Dmitri
69 / / 20.08.2000
ShowMessage(Text);
ShowMessage(File);

Показывают то же самое.
Аноним
Цитата:

On 2002-08-24 1251, Dmitri wrote
Моя программа читает из файла текст и сранивает его с переменной. Переменная char* Text="Text", в файле содержимое Text Но при сравнении if(Text==File) условие не выполняется. Может это из-за того, что в файле еще содержится eof? Как сделать так, чтобы условие выполнялось?


Может потому что указателей разный адрес?

442
24 августа 2002 года
HexoGenus
121 / / 20.03.2000
Анонимный ты просто супер....
Спассибо за науку я тоже думал над ответом на данный вопрос, но не мог врубиться...
Я проверил и действительно программа
char* Text="Text";
char* Best="Text";
if (Text==Best) ShowMessage (1);
if (*Text==*Best) ShowMessage (2);
выдает двойку...
Так что ты прав в первом случае идет сравнение указателей а они разные...
442
24 августа 2002 года
HexoGenus
121 / / 20.03.2000
Опппсссссс....
В верхнем примере у меня сравниваются только первые буквы...
Извинте лучше вот так...
char* Text="Text";
char* Best="Text";
if (Text==Best) ShowMessage (1);
if ((String)Text==(String)Best) ShowMessage (2);
Правда здесь используется String а я читал что это он не родной для C++ если есть приверженцы работы с родными типами С++ то приведите плиз свой пример...
317
26 августа 2002 года
Relax
573 / / 20.09.2000
ну это ты опять юзаешь VCL... а человеку может это не надо - из-за одного сравнения весь класс тащить... когда сравниваешь напрямую - сравниваются адреса, но есть специальные функции типа strcmp(), которые входят в стандартные библиотеки С
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог