\r
while (s.size() > 0)\r
{\r
- if (s[s.size() - 1] == ' ' || s[s.size() - 1] == '\t')\r
- s = s.substr(0, s.size() - 1);\r
+ if (s[s.size() - 1] == ' ' || s[s.size() - 1] == '\t' ||\r
+ s[s.size() - 1] == '\r' || s[s.size() - 1] == '\n')\r
+ s.resize(s.size() - 1);\r
else\r
break;\r
}\r
content += "\n";\r
delete [] data;\r
\r
- unsigned int i;\r
- for (i = 0; i < content.size(); i++)\r
- {\r
- if (content[i] == '\r')\r
- content[i] = '\n';\r
- }\r
+ string::iterator n = content.begin();\r
+ string::iterator line_end;\r
+ for ( ;; ) {\r
+ line_end = find(n, content.end(), '\n');\r
\r
- string::size_type n;\r
- while ((n = content.find("\n", 0)) != string::npos)\r
- {\r
- string line = content.substr(0, n);\r
+ string line(n, line_end);\r
line = TrimString(line);\r
if (line != "")\r
vLine.push_back(line);\r
- content = content.substr(n + 1);\r
+\r
+ if (line_end == content.end()) {\r
+ break;\r
+ }\r
+ n = line_end + 1;\r
}\r
\r
fclose(file);\r