[mareframe] View of /trunk/gadget/printinfo.cc
View of /trunk/gadget/printinfo.cc
Parent Directory
| Revision Log
Revision 1 -
( download)
( annotate)
Mon Feb 10 17:09:07 2014 UTC
(10 years, 5 months ago)
by agomez
File size: 2021 byte(s)
Initial version based on Gadget 2.2.00
#include "printinfo.h"
#include "errorhandler.h"
#include "gadget.h"
#include "global.h"
PrintInfo::PrintInfo() : printiter(0), printoutput(0), givenPrecision(0) {
strOutputFile = NULL;
strParamOutFile = NULL;
char tmpname[12];
strncpy(tmpname, "", 12);
strcpy(tmpname, "params.out");
setParamOutFile(tmpname);
}
PrintInfo::PrintInfo(const PrintInfo& pi) {
strParamOutFile = NULL;
setParamOutFile(pi.strParamOutFile);
strOutputFile = NULL;
if (pi.strOutputFile != NULL)
setOutputFile(pi.strOutputFile);
printoutput = pi.printoutput;
givenPrecision = pi.givenPrecision;
printiter = pi.printiter;
}
PrintInfo::~PrintInfo() {
if (strOutputFile != NULL) {
delete[] strOutputFile;
strOutputFile = NULL;
}
if (strParamOutFile != NULL) {
delete[] strParamOutFile;
strParamOutFile = NULL;
}
}
void PrintInfo::setOutputFile(char* filename) {
if (strOutputFile != NULL) {
delete[] strOutputFile;
strOutputFile = NULL;
}
if (filename != NULL) {
strOutputFile = new char[strlen(filename) + 1];
strcpy(strOutputFile, filename);
printoutput = 1;
} else {
strOutputFile = NULL;
}
}
void PrintInfo::setParamOutFile(char* filename) {
if (strParamOutFile != NULL) {
delete[] strParamOutFile;
strParamOutFile = NULL;
}
if (filename != NULL) {
strParamOutFile = new char[strlen(filename) + 1];
strcpy(strParamOutFile, filename);
} else {
strParamOutFile = NULL;
}
}
void PrintInfo::checkPrintInfo(int network) {
if (printiter < 1)
printiter = 1;
if (givenPrecision < 0)
givenPrecision = 0;
//JMB check to see if we can actually open required files ...
ofstream tmpfile;
if (!network) {
tmpfile.open(strParamOutFile, ios::out);
handle.checkIfFailure(tmpfile, strParamOutFile);
tmpfile.close();
tmpfile.clear();
}
if (printoutput) {
tmpfile.open(strOutputFile, ios::out);
handle.checkIfFailure(tmpfile, strOutputFile);
tmpfile.close();
tmpfile.clear();
}
}
|