C ++程序未输入/输出文件

时间:2019-02-10 03:28:07

标签: c++ xcode while-loop infinite-loop fstream

我正在处理这段代码,我将从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 :(得分:0)

所以我进入并确保我的.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;似乎对我来说工作不正常?