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

Выйти из цикл по окончании всех строк в файле - C++

Восстановить пароль Регистрация
 
lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
01.02.2014, 22:47     Выйти из цикл по окончании всех строк в файле #1
Привет Всем буду Благодарен за все ответы.

Программа открыает TXT файл и поочередно считывает строки из него.Все в принципе получается.Да вот только
мне нужно сделать так что бы когда строки все кончатся что бы выполнение вышло из цикла.Ну и передалось дальше к примеру на вывод строки а далее return 0;

1.Вопрос как проверить кончились ли строки для вывода или нет?
2.fgets в аргументах к примеру длинна строки в данном случае 256 или это совсем другое?

C++
1
2
3
4
5
6
7
 
           char a ;
                   char buff[256];
               a: fgets(buff,256,str);
                   std::cout<<buff;
               std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;
           while( с==2 ){ goto a ;}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 22:47     Выйти из цикл по окончании всех строк в файле
Посмотрите здесь:

кол-во строк в файле C++
C++ Сортировка строк в файле
C++ Сортировка строк в файле
C++ Массив строк в файле
Количество строк в файле C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
01.02.2014, 23:25     Выйти из цикл по окончании всех строк в файле #2
Цитата Сообщение от lex90 Посмотреть сообщение
while( с==2 ){ goto a ;}

Не по теме:

Да поправят меня господа эксперты но сочетать while и goto это равноценно селедку молоком запивать.

А вообще весь код покажите
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 201
01.02.2014, 23:39     Выйти из цикл по окончании всех строк в файле #3
Цитата Сообщение от mustimur Посмотреть сообщение

Не по теме:

Да поправят меня господа эксперты но сочетать while и goto это равноценно селедку молоком запивать.

А вообще весь код покажите

Не по теме:

Согласен. Я goto уже лет 10 не видел в программах. а тут еще в таком сочетании... О_о

mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
01.02.2014, 23:43     Выйти из цикл по окончании всех строк в файле #4
Цитата Сообщение от Меорн Посмотреть сообщение
Согласен. Я goto уже лет 10

Не по теме:

Я его не давно применял, удобно при "дословном" переводе старых отлаженных на фортране еще мат.функций на C++. Переводишь дословно не думая, что с чем объединить и не ошибиться

lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
02.02.2014, 22:15  [ТС]     Выйти из цикл по окончании всех строк в файле #5
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
28
#include<iostream>
#include<string>
using namespace std;
int main(){
            
           char  c ; 
           char  exit;  
           setlocale(LC_ALL,".1251"); 
           char stroka[256];
           std::cout<<"Введите путь к файлу!";
           std::cin>>stroka;
           FILE *str = fopen (stroka,"r");
           
           char a ;
           char buff[256];
        a: fgets(buff,256,str);
           std::cout<<buff;
           std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;
           while(  ){ goto a ;}
           
           
           char x;
        x: std::cout<<"Для выхода из программы нажмите 1!\n";std::cin>>exit;
            
           while( exit==1 ){return 0;}
           goto x;
 
}
Пожалуйста подскажите.Пока обучаюсь

Добавлено через 15 секунд
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
28
#include<iostream>
#include<string>
using namespace std;
int main(){
            
           char  c ; 
           char  exit;  
           setlocale(LC_ALL,".1251"); 
           char stroka[256];
           std::cout<<"Введите путь к файлу!";
           std::cin>>stroka;
           FILE *str = fopen (stroka,"r");
           
           char a ;
           char buff[256];
        a: fgets(buff,256,str);
           std::cout<<buff;
           std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;
           while(  ){ goto a ;}
           
           
           char x;
        x: std::cout<<"Для выхода из программы нажмите 1!\n";std::cin>>exit;
            
           while( exit==1 ){return 0;}
           goto x;
 
}
Пожалуйста подскажите.Пока обучаюсь
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
03.02.2014, 16:01     Выйти из цикл по окончании всех строк в файле #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Например так если не напутал
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
28
29
30
31
#include<iostream>
#include<string>
using namespace std;
int main(){
            
           int  c; 
           char  exit;  
           setlocale(LC_ALL,".1251"); 
           char stroka[256];
           std::cout<<"Введите путь к файлу!";
           std::cin>>stroka;
           FILE *str = fopen (stroka,"r");
                     
           char buff[256];
           do
           {
           if (fgets(buff,256,str)==NULL) c=2;
           else {
           
           std::cout<<buff;
           std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;}
           }while(c==2);
           
           
          do
          {
              std::cout<<"Для выхода из программы нажмите 1!\n";std::cin>>exit;
          } while( exit!=1 );
          return 0;
 
}
Yandex
Объявления
03.02.2014, 16:01     Выйти из цикл по окончании всех строк в файле
Ответ Создать тему
Опции темы

Текущее время: 16:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru