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方法中,原始数据将被替换,但我想保留它们并添加新数据