![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
![]() Код:
Последний раз редактировалось Sazary; 24.07.2009 в 00:55. |
![]() |
![]() |
![]() |
#22 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]()
File - указатель на входной поток(файл)
File_1 - указатель на выходной поток File_1<<"\nexample_23.exe\n\n"; - пишет в выходной файл строку (название exe-шника - он у меня так называется) File.seekg(0,ios::end); - устанавливает указатель чтения входного файла в позицию 0 байт от конца файла ( ios::end ) long i=File.tellg(); - записываем это значение в i i-=1; - отнимаем один байт, чтобы прочитать последний символ в файле дальше в цикле читаем входной файл и пишем результат в выходной ( с выводом на экран) File.seekg(i,ios::beg); - устанавливаем позицию чтения на i-й байт от начала файла File>>ch; - читаем символ File_1<<ch; - пишем результат потом в цикле i-- для сдвига позиции чтения на один байт от конца к началу входного файла |
![]() |
![]() |
![]() |
#23 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
![]()
непонятно теперь 2 вещи
long i=File.tellg(); это что записывается в i ?номер байта? последний символ что хранится в (-1) байте? File.seekg(i,ios::beg); почему от начала файла а не от конца а можно так File.seekg(0,ios::end); long i=File.tellg(); i-=1; и дальше цикл так можно? |
![]() |
![]() |
![]() |
#24 | |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]()
File.seekg(0,ios::end); - установили указатель в конец файла
long i=File.tellg(); - записывает в i номер последнего байта файла Цитата:
|
|
![]() |
![]() |
![]() |
#25 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
![]()
спасибо
теперь все понятно кроме почему нужно от номер байта отнять 1 и еще что такое File.unsetf(ios::skipws); Последний раз редактировалось Sazary; 24.07.2009 в 00:55. |
![]() |
![]() |
![]() |
#26 | |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]() Цитата:
невидимые символы (пробелы, табуляции и символы новой строки) отбра- сываются. Когда флаг skipws сброшен, невидимые символы не отбрасываются. unsetf сбрасывает флаг skipws |
|
![]() |
![]() |
![]() |
#27 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
![]()
т.е. если бы мы не сбросили флаг то не было бы пробелов табуляций и т.д?
про 1 понял а последним символом является eof? и его нельзя считать так как переменная будет в неопределенном состоянии Последний раз редактировалось Sazary; 24.07.2009 в 00:55. |
![]() |
![]() |
![]() |
#28 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]()
по идее EOF находится за последним символом файла, т.е. возвращается когда пытаешся читать данные за пределами файла
|
![]() |
![]() |
![]() |
#29 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
![]()
т.е
если после последнего символа сделаю так in>>ch;(прочитать из файла) то будет в переменной ch непонятно что а eof когда становится равен true ? когда прочитали после последнего символа? |
![]() |
![]() |
![]() |
#30 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
печать страниц в обратном порядке | Олекса | Microsoft Office Word | 4 | 30.03.2009 09:45 |
как защитить исходный код donet приложение | sgsolar | Общие вопросы .NET | 4 | 24.02.2009 09:52 |
В обратном порядке | mari.ha | Общие вопросы C/C++ | 7 | 25.12.2008 21:36 |
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. | TheVenny | Помощь студентам | 3 | 26.11.2008 15:06 |
Как посмотреть исходный код exe'ника | bamer | Помощь студентам | 6 | 10.11.2008 23:42 |