你好!我是c ++的新手,我正在尝试制作一个脚本,将if语句打印到文件中

时间:2016-08-21 18:00:49

标签: c++

这是我到目前为止所尝试的。我很确定freopen会以某种方式陷入循环中。谢谢你先进的帮助!抱歉,如果我搞砸了格式化。一旦使用cin,它就不允许进一步输入,只打印5次相同的if语句。

#include <iostream>
using namespace std;
#include <string>
int main(){
    string x;
    string z;
    int y;
    string t;
    for(int i=0; i<6; i++){
        cout<<"name"<<endl;
        cin>>x;
        cout<<"Pokemon name capatalized"<<endl;
        cin>>z;
        cout<<"Pokedex number"<<endl;
        cin>>y;
        cout<<"type"<<endl;
        cin>>t;
       freopen( "file.txt", "a", stdout );
        cout<<"else if(pokename==\""<<x<<"\" || pokename==\""<<z<<"\" || p=="<<y<<")""{cout<<\"This is "<<z<<", \"; "<<t<<"();}"<<endl; 
    }
    return 0;
}

1 个答案:

答案 0 :(得分:1)

如果您希望写入文件,可以使用ofstream类来执行此操作: 以下是可用于写入文件的代码段:

#include<fstream>
#include<string>

using namespace std;
int main() {
    string file = "myfile.txt";
    ofstream out(file.c_str());

    string output = "writting...";
    out << output;
    out.close();
}

让我解释一下这段代码的作用:

ofstream out statement声明类型为ofstream的对象。 构造函数将c_style字符串作为参数,因此方法c_str()用于将字符串类转换为c_style字符串。然后,使用<<运算符和ofstream对象out我正在写入文件。