我在C ++中使用fstream,它通过main()函数工作得很好。当我尝试使用头文件和相同的简单程序时,它不起作用。我想我需要在头文件中使用引用变量参数,但我不知道如何编写代码。我可以编写它,以便主函数将转到头文件以获取数据吗?
主要功能
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include "Prog_5_15.h"
using namespace std;
int main()
{
cout << "Hi Reed";
//I would like to try to keep the data in
//the Header File
//This works right
ofstream outputFile;
outputFile.open("e:\demofile2.txt");
cout << "Now writing data to the file\n";
outputFile << "Bach\n";
outputFile << "Beethoven\n";
outputFile << "Mozart\n";
outputFile << "Schubert\n";
outputFile.close();
// Can I put a function here from the Header File
// that gets info from fstream?
// Write_This(); ??
cin.get();
return 0;
}
标头文件
#pragma once
#ifndef P515_h
#define P515_h
class Prog_5_15
{
public:
Prog_5_15();
ofstream outputFile2;
outputFile2.open("e:\demoFile3.txt");
outputFile2.close();
void Write_This(); // This part needs do be re-written
~Prog_5_15();
};
#endif // !P515_h
#include <iostream>
#include "Prog_5_15.h"
using namespace std;
Prog_5_15::Prog_5_15()
{
}
void Prog_5_15::Write_This() // This needs to be re-written I think
{
cout << "Now writing data to the file\n";
outputFile << "Bach\n";
outputFile << "Beethoven\n";
outputFile << "Mozart\n";
outputFile << "Schubert\n";
}
Prog_5_15::~Prog_5_15()
{
}
答案 0 :(得分:0)
在班上使用相同的名称。
class Prog_5_15
{
public:
Prog_5_15();
ofstream outputFile2;
...
void Prog_5_15::Write_This()
{
cout << "Now writing data to the file\n";
outputFile << "Bach\n";
...
您不能拥有outputFile
和outputFile2
。选择一个名称并坚持下去。
使用构造函数打开文件
Prog_5_15::Prog_5_15()
{
outputFile.open("e:\\demoFile3.txt");
}
另请注意,"e:\demoFile3.txt"
错误,如果您想在字符串中使用反斜杠,则必须使用\\
。
删除析构函数和不需要的文件关闭语句。如果你的教授告诉你不同,他们不知道他们在说什么。
试试看,当你有更多问题时,请回来。并阅读一本关于C ++的书,这是基本的东西,任何书都会涵盖。