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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 137, средняя оценка - 4.80
ganjawar
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 40
#1

Функция feof(stream) зацикливается и не доходит о конца файла - C++

13.09.2011, 20:01. Просмотров 19160. Ответов 22
Метки нет (Все метки)

Здравствуйте
Проблема в том что функция зацикливается,не доходит до конца файла
вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void crypt(WIN32_FIND_DATAA FindFileData,LPCSTR Dir)
{
        FILE *stream;
        char path[20]={0};
 
        if ((strcmp(FindFileData.cFileName,"..")==0) || (strcmp(FindFileData.cFileName,".")==0))//нужен только файл
        {
            std::cout << FindFileData.cFileName << "\n";
        }else
        {
            strcpy(path, Dir);
            path[strlen(path)-1]=0; //удаляем "*"
            strcat(path, FindFileData.cFileName);//склеиваем путь и имя файла
            stream = fopen(path,"r+");
            //std::cout << path << "\n";
            if (stream!=NULL)//если есть что считывать
            {
                while ( !feof(stream))//пока не конец файла
                {
                    
                }
            }
        }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2011, 20:01     Функция feof(stream) зацикливается и не доходит о конца файла
Посмотрите здесь:

Рекурсивная функция, выписывающая число с конца - C++
Доброго Времени суток , Как написать рекурсирную функцию, которая выписывает число с конца например я ввел число --1234 выводит...

while(!feof(f) - C++
while(!feof(f)) { cout&lt;&lt;&quot;Абитуриент номер &quot;&lt;&lt;(i+1)&lt;&lt;&quot;: &quot;&lt;&lt;endl; enrollee *mas=new enrollee; fread(&amp;(*mas), sizeof(enrollee),1,f); ...

Работа с таблицей. (feof) - C++
В спортивных соревнованиях участвуют n команд. В файле SPORT содержатся прогнозы результатов соревнований. Каждый прогноз включает номер...

что значит !feof(f) - C++
что значит (!feof(f)) ?

feof(file) в модуле - C++
Функция main вызывает другую функцию, расположенную в отдельном модуле. Когда я пытаюсь в этой функции проверить на конец файла...

Feof ошибка в работе - C++
Добрый вечер. Такая проблема при таком условии while(!feof(stream){}) Происходит считывание файла, программа достигает конца файла, но...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
15.09.2011, 16:23     Функция feof(stream) зацикливается и не доходит о конца файла #21
Мда.. с указателем в файле надо играться осторожно(
C++
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
   int c;
   fstream f;
   streampos pos;
   f.open("doc.txt");
   if (!f.is_open())
      return 1;
   while ((c = f.get()) != EOF)
   {
      cout << (char)c <<"\t";
      c = c+1;
      cout << (char)c <<"\n";
      pos = f.tellp();
      f.seekp((int)pos-1);
      f.put(c);
      f.seekp(pos);
   }
   f.close();
   system("pause");
    return 0;
}
ganjawar
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 40
15.09.2011, 16:50  [ТС]     Функция feof(stream) зацикливается и не доходит о конца файла #22
Спасибо большое,всё работает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2017, 23:34     Функция feof(stream) зацикливается и не доходит о конца файла
Еще ссылки по теме:

Истинность конца файла - C++
Суть в чем. Есть реализация криптосистемы МакЭлисса. В входном текстовом файле считываются символы, символы разбиваются на биты, из...

Считывание до конца файла - C++
В каждой строке файла 2 целых числа. Нужно считать по 2 числа до конца файла и выводить в каждую строку сумму этих двух чисел. Раньше...

Чтение из файла с конца - C++
Добрый день, не могу реализовать такую штуку =) Хотелось бы имеющийся текстовый файл перезаписать с обратном порядке (все символы...

Условие конца файла - C++
Имеем функцию: void Inpfile (stud&amp; s) { ifstream base(&quot;base.txt&quot;); if(!base)std::cout &lt;&lt; &quot;Can't create input file&quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aaprocky
0 / 0 / 0
Регистрация: 04.05.2017
Сообщений: 3
23.05.2017, 23:34     Функция feof(stream) зацикливается и не доходит о конца файла #23
kazak, а если у меня в файле есть символ конца файла (), и программа на этом останавливается, как быть?
Yandex
Объявления
23.05.2017, 23:34     Функция feof(stream) зацикливается и не доходит о конца файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru