Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> seekg(ios::end); Не хочет работать =( 
V
    Опции темы
Atij
Дата 12.5.2008, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 13.4.2008

Репутация: нет
Всего: нет



Добрый день.
У меня такая проблема, помогите пожалуйста. Я написал программу. По специфике задания у меня получается, что я вывожу в файл результат, в кот-ом практически всегда будет один лишний символ в конце. Ну так просто получается, не хочу вдаваться в подробности самого задания. Итак: ВСЕГДА перед этим "лишним символом" стоит ")". 
Почему у меня не работает данная конструкция?

Код

{ 
  in.seekg(0,ios::end); // здесь я хочу перекинуть маркер считывания файла на самый последний символ
  s=in.get(); // читаю этот символ
  if (s!=')') out<<" "; // если он не равен ")", то заменить на пробел. 
  
} 


я пробывал заменять in.seekg(0,ios::end); на in.seekg(-1,ios::end); а потом и на in.seekg(-2,ios::end); , но не прикаком из этих значений ничего кроме пробела s не получает, почему?

То что в файле "in.txt" до момента написания этого кода есть указанные мною симолы - убеждён.
PM MAIL   Вверх
Annihilator
Дата 12.5.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: 1
Всего: 3



вот так работает
Код

ifstream in("4.txt");
  in.seekg(-1,ios::end); // здесь я хочу перекинуть маркер считывания файла на самый последний символ
  s=in.get(); // читаю этот символ


Это сообщение отредактировал(а) Annihilator - 12.5.2008, 12:10


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
Atij
Дата 12.5.2008, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 13.4.2008

Репутация: нет
Всего: нет



Э... Вы хотели сказать: ofstream in("4.txt",ios::out); или fstream in("4.txt",ios::out); ? =)
Нет, дело не в этом, без этих строк у мну бы не компилилось всё это дело, мне не понятно, почему s не получает значений, то что вы сказали, я подключил.

PM MAIL   Вверх
Annihilator
Дата 12.5.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: 1
Всего: 3



Если из файла нужно считывать то его нужно открывать для чтения, т.е. надо использовать ifstream, а не ofstream

Это сообщение отредактировал(а) Annihilator - 12.5.2008, 11:09


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
anatox91
Дата 12.5.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: 1
Всего: 13



Цитата(Atij @  12.5.2008,  10:05 Найти цитируемый пост)
вывожу в файл результат

а если открывать файл так:
Код

ofstream out("filename", ios::ate)

?

Это сообщение отредактировал(а) anatox91 - 12.5.2008, 11:20


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
Annihilator
Дата 12.5.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: 1
Всего: 3



это для записи


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
anatox91
Дата 12.5.2008, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: 1
Всего: 13



ну так Atij же пишет 
Цитата(Atij @  12.5.2008,  10:05 Найти цитируемый пост)
вывожу в файл результат




--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
Annihilator
Дата 12.5.2008, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: 1
Всего: 3



Цитата(anatox91 @ 12.5.2008,  16:31)
ну так Atij же пишет 
Цитата(Atij @  12.5.2008,  10:05 Найти цитируемый пост)
вывожу в файл результат

Тьфу, извини, глюканулsmile


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
Atij
Дата 13.5.2008, 05:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 13.4.2008

Репутация: нет
Всего: нет



Прошу прощенья, побежал вчера в универ, вернулся, инет лагает=(
Всем большое спасибо, вопрос решён.
PM MAIL   Вверх
lp_sun
Дата 18.5.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



народ, подскажите плз функцию для работы с потоками fstream, типа как fread\fwrite в stdio
есть ли такая функция которая побайтово считует нужное количество памяти и возвращает кол-во реально считанных байт
getline'ы разные не подходят, считывать нужно "сырые" данные

Это сообщение отредактировал(а) lp_sun - 18.5.2008, 12:10
PM MAIL   Вверх
bsa
Дата 18.5.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



PM   Вверх
lp_sun
Дата 18.5.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



bsa, да ну я решил не создавать новую тему из-за мелочевки...
read подходит, токо он не возвращает кол-во считанных символов (ну если раньше встретился конец файла например)
помоги как бы заменить это корректно....
readsome возвращает, но онаж токо с консолью вроде работает
PM MAIL   Вверх
bsa
Дата 18.5.2008, 17:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



PM   Вверх
lp_sun
Дата 18.5.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



bsa, йеееесс это как раз то, что мне нужно smile)) БЛАГОДАРЮ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0757 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.