C ++ программа не вводит / выводит файл - PullRequest
0 голосов
/ 10 февраля 2019

Я работаю над этим фрагментом кода, где я получаю выходной из моего файла Holiday.txt, а затем ввожу этот выходной в мой Schedule.txt.Есть несколько выходных, поэтому я пытаюсь перебрать файл, пока он не достигнет конца, и полностью скопировал их во второй файл, однако, похоже, он не вводит выходной в мою строковую переменную, и я застреваю вбесконечный цикл.

int main(){  
fstream bookings("Schedule.txt");
fstream magicians("Magicians.txt");
fstream holidays("Holidays.txt");



string test;
string holiday;

bookings >> test;
testing to check if there's anything in bookings
if(test.length()==0){
   while(!holidays.eof()){
       getline(holidays, holiday);
       bookings << holiday << endl << endl;
       cout << "test";
        }
    }  
  return 0;
}

Я пытался использовать разные циклы while, включая while(getline(holidays, holiday)) или даже while(holidays >> holiday), пока они не достигли конца файла, но, похоже, все застряло в бесконечных циклах.

Извините, если это базовые вопросы, но я новичок, который так долго пытался разобраться, даже пошагово проходя программу, и, похоже, ничего не работает.Может кто-нибудь объяснить мне, что происходит не так?

1 Ответ

0 голосов
/ 11 февраля 2019

Итак, я вошел и убедился, что мои .txt файлы находятся в правильном каталоге и открыты, однако моя программа все еще не выводит то, что я хочу, в мой Schedule.txt файл.

Этоэто то, что у меня сейчас есть:

 #include <iostream>
 #include <fstream>
 #include <string>

using namespace std;

int main(){

fstream bookings("Schedule.txt");
fstream magicians("Magicians.txt");
fstream holidays("Holidays.txt");

//already tested to make sure these are open & they are

string test;
string holiday;

bookings >> test;

if(test.length()==0){
   while(getline(holidays, holiday)){
       bookings << holiday;
       cout << "test";

        }
    }

bookings.close();
magicians.close();
holidays.close();


  return 0;
}

Мой Holidays.txt содержит это: День ветеранов, День святого Валентина, Рождество, Рождество, Новый год Я прошел программу, чтобы убедиться, что holiday получает линию соответственно, но bookings << holiday;просто, кажется, не работает должным образом для меня?

...