0 / 0 / 1
Регистрация: 09.09.2011
Сообщений: 40

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

13.09.2011, 20:01. Показов 26499. Ответов 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))//пока не конец файла
                {
                    
                }
            }
        }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2011, 20:01
Ответы с готовыми решениями:

Программа не доходит до конца файла и зацикливается
она не видит конца файла и зацикливается на 21 или на 30 строчке... Программа должна удалить все слова из файла, начинающиеся на согласную....

Цикл не доходит до конца
Здравствуйте! Не могу разобраться, почему цикл for не доходит до конца. Ниже я привел код, за любой ответ буду благодарен. Где keys.Count -...

Программа не доходит до конца
Программа не доходит до конца.В чем может быть ошибка? Иногда запрашивает ввод только а и высчитывает непонятно что #include...

22
 Аватар для kazak
3605 / 2745 / 356
Регистрация: 11.03.2009
Сообщений: 6,313
15.09.2011, 16:23
Студворк — интернет-сервис помощи студентам
Мда.. с указателем в файле надо играться осторожно(
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;
}
1
0 / 0 / 1
Регистрация: 09.09.2011
Сообщений: 40
15.09.2011, 16:50  [ТС]
Спасибо большое,всё работает
0
0 / 0 / 0
Регистрация: 04.05.2017
Сообщений: 3
23.05.2017, 23:34
kazak, а если у меня в файле есть символ конца файла (), и программа на этом останавливается, как быть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2017, 23:34

Прогресбар не доходит до конца
Есть код: private void timer1_Tick(object sender, EventArgs e) { progressBar1.PerformStep(); if...

Дефрагментация не доходит до конца
Когда делаешь дефрагментацию, всегда хочется увидеть идеальную непрерывную синюю полосу, а после неё - такую же непрерывную белую. Но, увы,...

Не доходит скролл до конца Jscrollpane
Здравствуйте, вот пример http://dodi.vv.si . Скролл не доходит до конца, я так его вроде как отстилизировал, причина как я понял в js,...

Звук на ноутбуке. Регулятор звука не доходит до конца
Имеется ноутбук MSI cx620 Вместе с ним имеется и проблема с громкостью звука. Еле слышно звук на максимальных настройках. На картинке...

Как упросить код и остановить когда доходит до конца
Привет всем, подскажите как упросить код что бы 537 раз не писать exc(). И как его остановить когда он доходит до 537 числа.


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

Новые блоги и статьи
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru