00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <common/FileLines.h>
00022 #include <common/Defines.h>
00023 #include <stdio.h>
00024 #include <stdarg.h>
00025
00026 FileLines::FileLines()
00027 {
00028
00029 }
00030
00031 FileLines::~FileLines()
00032 {
00033
00034 }
00035
00036 bool FileLines::readFile(const std::string &filename)
00037 {
00038 FILE *in = fopen(filename.c_str(), "r");
00039 if (in)
00040 {
00041 char buffer[10048];
00042 while (fgets(buffer, 10048, in))
00043 {
00044 char *wincr = strchr(buffer,'\r');
00045 if (wincr)
00046 {
00047 *wincr = '\n';
00048 *(wincr + 1) = '\0';
00049 }
00050
00051 char *nl = strchr(buffer, '\n');
00052 if (nl) *nl = '\0';
00053 fileLines_.push_back(buffer);
00054 }
00055 fclose(in);
00056 }
00057 else
00058 {
00059 return false;
00060 }
00061
00062 return true;
00063 }
00064
00065 bool FileLines::writeFile(const std::string &filename)
00066 {
00067 FILE *out = fopen(filename.c_str(), "w");
00068 if (!out) return false;
00069
00070 std::vector<std::string>::iterator itor;
00071 for (itor = fileLines_.begin();
00072 itor != fileLines_.end();
00073 itor++)
00074 {
00075 fprintf(out, "%s\n", (*itor).c_str());
00076 }
00077
00078 fclose(out);
00079 return true;
00080 }
00081
00082 void FileLines::addLine(const std::string &text)
00083 {
00084 fileLines_.push_back(text);
00085 }
00086
00087 void FileLines::getAsOneLine(std::string &output)
00088 {
00089 std::vector<std::string>::iterator itor;
00090 for (itor = fileLines_.begin();
00091 itor != fileLines_.end();
00092 itor++)
00093 {
00094 output += (*itor);
00095 output += "\n";
00096 }
00097 }