![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.12.2011
Сообщений: 40
|
![]()
Программа должна сравнивать два текстовых файла,каждую строку из 1ого файла сравнивать с каждой строкой 2ого,и выводить на экран те строки,которые есть в 1ом файле,но нет во втором. Программа иногда работает правильно,а иногда выдает ненужные строки.Что не так? Пожалуйста,помогите исправить.
Код:
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
![]()
Вроде бы все верно.
Я на всякий случай бы перед считыванием очередной строки занулял ее переменку. Что-то типа: Код:
Отладчик что говорит? Делала пошаговку?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.12.2011
Сообщений: 40
|
![]()
Да,просто вот ввела 4 строки в оба файла,и в них первое строка 1ого файла = последней строке 2ого файла и вот в этом случае почему то эта строка выводится на экран...
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
![]()
Пошаговку пройди. Посмотри какие переменные какие значения получают.
ИМХО считывание у тебя неправильное. Считывается не строка а поток байт. замени fgets на fscanf, он должен уметь строку считывать до символа перевода каретки.
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.12.2011
Сообщений: 40
|
![]()
Если считывать fscanf то будет считываться до пробела посимвольно,fgets считывает все верно. Программа правильная,дело не в ней. Просто не подумала о том, что нужно после последней строки в файлах нажать Enter, чтобы был переход на новую строку, потому программа и выдавала ненужные строки,так как считала строки с переходом на новую строку и без перехода разными=)
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
![]()
ИМХО, в таком случае, правильнее будет при проверке на равенство переход отбрасывать.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
![]() |
![]() |
![]() |
#7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
![]()
В таком случае нужно просто использовать другие более современные и надежные средства считывания из файла.
I'm learning to live...
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не могу понять что не так | aferistz | Общие вопросы C/C++ | 5 | 23.09.2010 02:21 |
строки и файлы не могу понять,что не так((((( | marina_sergina | Общие вопросы C/C++ | 4 | 11.05.2010 07:49 |
строки и файлы не могу понять,что не так(((( | marina_sergina | Помощь студентам | 1 | 11.05.2010 00:38 |
IBExpert, не могу понять что делаю не так! в чём проблема.... | katia0017 | SQL, базы данных | 10 | 15.01.2010 18:33 |
Помогите дописать программу на Delphi 7 не могу понять что здесь не так | matrix8325 | Помощь студентам | 1 | 30.04.2009 23:34 |