|
|
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
Приношу свои извинения за кучу созданных тем, но уж больно помогают тут хорошо, даже как-то непривычно :) Итак, имеется у меня текстовый файл примерно такого содержания: автор 2006.12.25 "New Year Party" 17:30:00 1:00:00 Есть у меня в программе следующие переменные: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Нужно вписать значения из файла в эти переменные. Всё бы ничего, но вот проблема возникает, когда надо вписать description. Допусим, делаю так: Код: plaintext 1. 2. В этом и состоит вопрос: Как организовать, чтобы в description вписалось только то, что находится в кавычках? Очень желательно, чтобы кавычки не вписывались в строку. Есть ли у класса ifstream какие-то методы, где можно утснавливать терминаторы на определенные символы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 15:09 |
|
||
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
Landanan Есть ли у класса ifstream какие-то методы, где можно утснавливать терминаторы на определенные символы? Есть функция чтения строки из потока - getline. Там можно указать параметр разделитель. Только первую кавычку надо будет как-нибудь пропустить (прочитать ее в какой-нть char или по-другому) пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ввод: 1 "bla bla bla" 2 вывод 1 bla bla bla 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 15:33 |
|
||
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
Хмм...не знаю как это будет работать при чтении из файла, но сейчас попробую. Спасибо! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 15:39 |
|
||
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
LandananХмм...не знаю как это будет работать при чтении из файла, но сейчас попробую. Спасибо! :) Так же будет работать. Там параметр - поток ввода. А с консоли он (cin) или файловый (ifstream), какая разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 15:49 |
|
||
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
Хмм...с файлом работает. Ладно, усложнаю задачу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. А если еще учесть, что я могу использовать оператор >> при чтении из файла, где имеются эти самые кавычки, но их нужно обойти? Типа этого: Код: plaintext 1. 2. Начинаю сходить с ума... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 15:56 |
|
||
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
LandananХмм...с файлом работает. Ладно, усложнаю задачу: ... // и пользователь не вводит кавычки вначале и вконце строки ... если еще учесть, что я могу использовать оператор >> при чтении из файла, где имеются эти самые кавычки, но их нужно обойти? Ну если кавычки присутствуют в файле, но в консоли не вводятся, то можно и написать два оператора, один для cin, другой для ifstream :) Типа такого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Но лучше так не делать. Вообще я бы не стал перегружать функциональность класса чтением (или записью) своего содержимого из разных источников. Лучше вынести это во внешние функции, которые можно сделать сколь угодно сложными (проверять источник, формат и корректность входных данных... там уже накрутите что вам надо), а в интерфейсе класса оставить простые как валенок методы set и get для членов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 16:17 |
|
||
|
Чтение значений из файла (С++)
|
|||
|---|---|---|---|
|
#18+
Вот идею перегрузки че-то упустил...надоть попробовать. Вопрос: а почему не стоит перегружать класс? Ведь, помучившись раз, я значительно облегчу работу тем, кто будет использовать мой класс в своих программах: им не надо будет думать как там чего перегрузить - всё будет уже готово. По-моему, запихивание всего возможного в класс наоборот придает ему гибкости... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 16:32 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33683149&tid=2031469]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 460ms |

| 0 / 0 |
