Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何相应地将每个数据输出到文件?_C++_File_Outputstream_Ofstream_File Io - Fatal编程技术网

C++ 如何相应地将每个数据输出到文件?

C++ 如何相应地将每个数据输出到文件?,c++,file,outputstream,ofstream,file-io,C++,File,Outputstream,Ofstream,File Io,run用于相应地生成GPattern 我想要输出到文件的是一些重建原始GPattern的文本 我无法预先存储所有GPattern,并将它们全部输出。我必须在生成文件时将一个GPattern输出到文件中,但我不知道如何实现它 我曾试图在类示例中声明streamoutgpatter(“pattern.txt”)的,但它没有用 好吧,ofstream是正确的选择: struct GPattern() { int gid; .... } class Example() { public:

run
用于相应地生成
GPattern

我想要输出到文件的是一些重建原始
GPattern
的文本

我无法预先存储所有
GPattern
,并将它们全部输出。我必须在生成文件时将一个
GPattern
输出到文件中,但我不知道如何实现它


我曾试图在类
示例
中声明streamoutgpatter(“pattern.txt”)
,但它没有用

好吧,ofstream是正确的选择:

struct GPattern() {
    int gid;
    ....
}
class Example() {
public:
    void run(string _filename, unsigned int _minsup);
    void PrintGPattern(GPattern&, unsigned int sup);
    ....
};

Eample::run(string filename, unsigned int minsup) {
    for(...) {    // some condition
        // generate one GPattern, and i want to ouput it
        PrintGPattern(gp, sup);
    }
}

Example::PrintGPattern(GPattern& gp, unsigned int sup) {
    // I want to ouput each GPattern to a .txt file
}
Example::printpattern(GPattern&gp,unsigned int-sup){
流输出模式(“pattern.txt”)

outGPattern好吧,ofstream是正确的选择:

struct GPattern() {
    int gid;
    ....
}
class Example() {
public:
    void run(string _filename, unsigned int _minsup);
    void PrintGPattern(GPattern&, unsigned int sup);
    ....
};

Eample::run(string filename, unsigned int minsup) {
    for(...) {    // some condition
        // generate one GPattern, and i want to ouput it
        PrintGPattern(gp, sup);
    }
}

Example::PrintGPattern(GPattern& gp, unsigned int sup) {
    // I want to ouput each GPattern to a .txt file
}
Example::printpattern(GPattern&gp,unsigned int-sup){
流输出模式(“pattern.txt”)

outGPattern我认为您可以使用append模式,例如:

Example::PrintGPattern(GPattern& gp, unsigned int sup) {
    ofstream outGPattern("pattern.txt")

    outGPattern << gp.gid; << " " << gp.anotherGid << " " ....

    outGPattern.close()
}

我认为您可以使用附加模式,例如:

Example::PrintGPattern(GPattern& gp, unsigned int sup) {
    ofstream outGPattern("pattern.txt")

    outGPattern << gp.gid; << " " << gp.anotherGid << " " ....

    outGPattern.close()
}

在我看来,您希望附加多个
GPattern
的信息,只需在构造函数中将I/O模式设置为
ios::app

ofstream outGPattern;
outGPattern.open("GPattern.txt", ios::app);
struct GPattern{
int-gid;

friend ostream&operator在我看来,您希望附加多个
GPattern
的信息,只需在构造函数中将I/O模式设置为
ios::app

ofstream outGPattern;
outGPattern.open("GPattern.txt", ios::app);
struct GPattern{
int-gid;


friend ostream&operator但在您的方法中,原始数据将被替换,因此我只能获取最新的GPattern。如果您不想替换它,您必须使用ios::app。进行编辑。我可以问您另一个问题吗?如何将字符串打印到屏幕上并同时将字符串输出到文件中?最简单的方法是使用
cout
同时输出文件
,但我将导致冗余代码。Thanks@Mr.mr.它并没有真正添加冗余代码。这两个都是流,但一个指向文件,另一个指向控制台。无论如何文本必须打印两次。我不知道是否有办法重定向流以同时写入两个,但我如果有,它可能非常混乱。只需创建一个将给定字符串写入两者的帮助函数。谢谢!祝您愉快:)但在您的方法中,原始数据将被替换,因此我只能获取最新的GPattern。如果不想替换,您必须使用ios::app。进行编辑。我可以问您另一个问题吗?如何打印字符串到屏幕并同时将字符串输出到文件??最简单的方法是同时使用
cout
outfile
,但我会导致代码冗余。Thanks@Mr.mr.它并没有真正添加冗余代码。两个都是流,但一个指向文件,另一个指向控制台。文本必须是无论如何,打印了两次。我不知道是否有办法将流重定向到两个文件,但如果有,可能会非常混乱。只需创建一个帮助函数,将给定字符串写入两个文件。谢谢!祝您愉快:)我不想替换.txt文件中的原始
GPattern
,我看到您的问题中有很多漏洞。我想ink我为你找到了答案,但我对那些漏洞不够自信。你能告诉我你的想法吗?谢谢:)在@s3rius方法中,原始数据将被替换,但我想保留它们并添加新数据。我不想替换.txt文件中的原始
GPattern
。我看到你的问题中有很多漏洞。我想我为你找到了答案u但我对这么多的漏洞不够自信。你能告诉我你的想法吗?谢谢:)在@s3rius方法中,原始数据将被替换,但我想保留它们并添加新数据