| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > не получается найти строку в файле |
| Автор: getUp 23.10.2009, 18:29 | ||
подскажите почему не получается найти строку words = word1 + ' ' + word2
|
| Автор: niXman 23.10.2009, 18:37 | ||
|
| Автор: getUp 23.10.2009, 19:09 |
| не понял... то что вы мне написали работает точно также как и мой вариант и зачем нужно cin >> words в конце? мне нужно сделать следующее: выполнить поиск 1ого слова в файле, выполнить поиск 2ого слова в том же файле, и найти эти слова разделенные пробелом (что у меня и не получается). слова по отдельности ищет отлично |
| Автор: niXman 23.10.2009, 19:34 | ||
Я показал как правильно сравнивать строки. Вместо getch(). Если пишешь на С++, то для чего использовать функции из Си? Возможно их там попросту нет. Добавлено @ 19:36 Йоу. Перепозиционироваться забыл.
|
| Автор: getUp 23.10.2009, 19:46 | ||
есть! в файл записал 3 слова: "word", "world" и "work". все слова записаны через пробел. в ходе выполнения программы ввожу: word world в результате вижу следующее: нашлось 1е слово нашлось 2е слово чего не хватает: слова рядом через пробел |
| Автор: niXman 23.10.2009, 19:52 | ||
Добавлено через 2 минуты и 32 секунды После этого:
что находится в current_str ? |
| Автор: getUp 23.10.2009, 19:57 | ||||
поменял это:
на это:
в файле поставил запятую после слова world. в ходе выполнения программы ввел "word" и "world". все нашлось так как поиск шел до запятой, которая стояла после world. как сделать чтобы работал без запятой? в current_str помещается строка из потока file |
| Автор: LigLink 25.10.2009, 21:44 |
| getUp, функция string::compare в твоем случае работает не так как хотелось-бы. То же относительно оператора "==". Вот ссылка почитай об использовании string::compare и посмотри примеры. Все станет намного понятнее. http://www.cplusplus.com/reference/string/string/compare/ а вот то, что может помочь решить твою проблему: http://www.cplusplus.com/reference/string/string/find/ При этом обрати внимание на возвращаемое значение функции, и не забудь учесть его при составлении условий |
| Автор: shuttle 26.10.2009, 06:52 | ||
запусти по шагам (F10) и посмотри какое значение будет в words.
в этом выражении |
| Автор: LigLink 26.10.2009, 11:11 |
| niXman, а при таком перепозиционировании ( file.seekg(0); ) у тебя срабатывает заход в цикл? у меня чет нет. |
| Автор: zim22 26.10.2009, 11:27 | ||
выход из цикла может произойти в связи с достижением конца файла или ошибкой ввода. в любом случае поток будет установлен в недопустимое состояние. сбросить поток так:
|