Форум программистов, компьютерный форум CyberForum.ru

есть указатель на конец файла и он самоинициализируется, но не в месте объявления, а когда учавствует в условии. Почему так? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти значение выражения 1.1-1.2+1.3-1.4-1.5 до n http://www.cyberforum.ru/cpp-beginners/thread326264.html
Дано целое число n(n>0) Найти значение выражения 1.1-1.2+1.3-1.4-1.5 до n (слагаемых знаки чередуются) Условный оператор не использовать только for пример n=13 ответ 1.7 Всем спасибо заранее
C++ Как спроецировать файл в буфер? У меня 2 вопроса: 1) Как спроецировать файл в буфер? 2) Как составить спроецированный файл в буфере? http://www.cyberforum.ru/cpp-beginners/thread326261.html
C++ Что выбрать для написания GUI приложения
Что выбрать для написания GUI приложения. Думал выбрать WinAPI или MFC но у них дизайны плохие.Потом решил выбрать Qt, конечно мощная вещ, но простое окно весит 10мб. Что же выбрать.
Выполнение действий с двоичными векторами C++
Начало есть; нужно выполнить сложение векторов и сдвиг //Создайте класс bVect для выполнения действий с двоичными векторами. //Длина вектора должна быть задана в конструкторе. #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std;
C++ модули http://www.cyberforum.ru/cpp-beginners/thread326244.html
как разбить программу на модули?? вообще не понимаю помогите плиз
C++ Как сохранить массив в файл-архив? Сжал строку функцией compress2, сохраняю на винчестер, пытаюсь открыть архиватором - пишет ошибку А функция gzwrite хоть и работает, но не подходит - т.к. записывает сразу на винчестер, а нужно в переменную... Подскажите что можно сделать? подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
26.06.2011, 18:31     есть указатель на конец файла и он самоинициализируется, но не в месте объявления, а когда учавствует в условии. Почему так?
Сабж, мистика какая-то.
Вот я так работаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
#include <iterator>
using namespace std;
 
int main(){ 
   ifstream file__("temp.txt", ios::binary|ios::in);
   ifstream file("ra.cpp", ios::binary|ios::in);
   ifstream file_("ra.exe", ios::binary|ios::in);
   string str;
 
   istream_iterator<unsigned char>  eof;
 
   istream_iterator<unsigned char> i(file);
   while (i!= eof) {
    str+=*i++;
   }
 
   cout<< str;
   getchar ();
   return 0;
}
Ну то есть считываю в строку файл, пока не кончится. М вот в зависимости от того, какой файл я считываю (file, file_ или file__ ) вот такой и считывается, то есть условие i!= eof вполне себе работает, получается, eof само собой присваивается конец нужного файла. Вот это да! А объявляется она Бог знает где (и не может там инициализироваться), ещё до того, как я указываю, с каким файлом работать, то есть до строки
C++
1
istream_iterator<unsigned char> i(file);
Это что, так должно быть? Я первый раз столкнулся с тем, что переменная инициализируется в условии!

Добавлено через 1 минуту
И да, eof вообще можно в самом начале объявить всё равно она будет указывать на конец нужного файла!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru