Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Существует ли более компактный способ перенаправления содержимого istream в ostream, минуя использование дополнительных переменных? Поясню на примере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В приведённом выше коде я использовал переменную x, считывая значение сначала в неё, а потом читая из неё. Можно ли это промежуточное "колено" как-то исключить, написав код более компактно? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2013, 19:31 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
CompositumМожно ли это промежуточное "колено" как-то исключить, написав код более компактно? Почему бы не так: Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2013, 19:45 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПочему бы не так: Код: sql 1. И что это означает? И что, если поток if1 достигнет конца раньше, чем if2? Попробовал ваше предложение в двух вариантах. 1. В этом случае приложение зависает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 2. Во втором варианте получаю неверный результат в файла, а так же сообщение об ошибке (ошибка чтения файла data1.txt): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2013, 20:02 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Пробовал и третий вариант, приводящий так же к зависанию приложения: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2013, 20:06 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Попробуй заменить ifstream на filebuf. Для него есть перегруженный <<. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2013, 20:24 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
a это точно нужно? обычно это делают так cat file1 file2 file3 > Outputfile если нужно программно -- посмотрите исходники cat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 01:06 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Тут не совсем понятно что в итоге хочет получить автор топика. То ли скопировать содержимое файлов f1 и f2 в файл rf, то ли получить из этих файлов текстовые представления целых чисел с дальнейшей их записью в файл rf. В общем случае cat f1 f2 > rf и Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. выдадут разные результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 08:05 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Новый Годa это точно нужно? обычно это делают так cat file1 file2 file3 > Outputfile если нужно программно -- посмотрите исходники catЯ не спрашивал о том, как перенаправлять потоки средствами командных оболочек. v6yТут не совсем понятно что в итоге хочет получить автор топика. То ли скопировать содержимое файлов f1 и f2 в файл rf, то ли получить из этих файлов текстовые представления целых чисел с дальнейшей их записью в файл rf.Вы оба невнимательно читали мой вопрос. Автор топика чётко обозначил вопрос, показав его суть на простом примере, который присутствует лишь для наглядности оного. Сам вопрос достаточно чёток и ясен: автор топикаСуществует ли более компактный способ перенаправления содержимого istream в ostream, минуя использование дополнительных переменных? Поскольку это форум по программированию на C++, то очевидно, что вопрос задан в контексте использования этого языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 08:36 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
CompositumАвтор топика чётко обозначил вопрос, показав его суть на простом примере, который присутствует лишь для наглядности оного. Сам вопрос достаточно чёток и ясен: автор топикаСуществует ли более компактный способ перенаправления содержимого istream в ostream, минуя использование дополнительных переменных? Конкретно ваш пример есть не перенаправление содержимого istream в ostream, а именно форматированое чтение из одного потока и форматированная запись в другой. Это не совсем одно и тоже и поэтому позволяет неоднозначное интерпретирование того, что в конечном итоге нужно получить. автор топикаСуществует ли более компактный способ перенаправления содержимого istream в ostream, минуя использование дополнительных переменных? Насколько я знаю, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 08:54 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
CompositumСуществует ли более компактный способ перенаправления содержимого istream в ostream, минуя использование дополнительных переменных? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 10:20 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
UsmanCompositumСуществует ли более компактный способ перенаправления содержимого istream в ostream, минуя использование дополнительных переменных? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Я хотел предложить похожий вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Но меня смутило авторминуя использование дополнительных переменных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 10:46 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Usman, Благодарю, интересный код. Я внёс в него небольшие косметические изменения и запустил, но получил сообщение: Can't open input file . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 10:48 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Compositum, Нужно проверить пути: - C:\boot.ini - C:\Windows\system.ini - C:\Windows\win.ini В Windows XP/2003 это стандартные системные файлы (должно работать). В Seven - возможно уже по-другому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 11:05 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
v6y, Спасибо, попробовал и ваш код, немного подкорректировав его: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. К сожалению, в результате получаю так же Can't open input file . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 11:09 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
UsmanCompositum, Нужно проверить пути: - C:\boot.ini - C:\Windows\system.ini - C:\Windows\win.ini В Windows XP/2003 это стандартные системные файлы (должно работать). В Seven - возможно уже по-другому. опа... я проверил второй и третий, упустив проверку первого. :) Да, похоже, что в Windows 7 x64 отсутствует файл C:\boot.ini. Убрал его, и оба варианта кода (ваш и код v6y ) сразу заработал, спасибо! А используя операторы "<<" и ">>", выполняя посимвольное перенаправление, можно написать более компактный вариант, чем указал я (даже если отбросить добавляемые мною символы пробелов)? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 11:15 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Compositum, Без функции copy , но с буферизацией (считывает весь файл в строку): Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 11:41 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Compositum, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 12:50 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
А так что не подходит? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 14:12 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
может, использовать std::copy, std::ostream_iterator и std::istream_operator (детали по памяти не вспомню, но по идее должно делаться в 1 строчку)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 14:21 |
|
||
|
из istream в ostream
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА так что не подходит? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Тьфу блин, я чего то просмотрел что у ostream есть Код: plaintext 1. Вот и нагородил огород :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38295537&tid=2020143]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
226ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 299ms |
| total: | 612ms |

| 0 / 0 |
