Istream-Iteratoren und "Whitespaces"
-
Hallo,
Bekanntlich werden "Whitespaces" (Leerzeichen, Tabs, Zeilenumbrüche) beim auslesen einer Datei mithilfe von Istream-Iteratoren ignoriert. Gibt es eine Möglichkeit diese Zeichen trotzdem mitauszulesen (Unter Verwendung der STL)?string ReadFile() { string output; ifstream TargetFile(m_strFileName.c_str()); //m_strFileName ist der Name der auszulesenden Datei istream_iterator<string> itPosition(TargetFile), itEnd; if (itPosition == itEnd) output = "Error: File not found!"; else while(itPosition != itEnd) { output += *itPosition; itPosition++; } return output; }
-
Naja,
AFAIK ist es möglich alle zeichen auszulesen ich mache das meist so:
void ReadFile(std::string& filename, std::string& data) { data.clear(); std::ifstream input_file(filename.c_str(),std::ios::binary) // std::ios::binary gibt an das alle zeichen gelesen werden nicht nur die darstellbaren. while(!input_file.eof()) data += input_file.get(); }
MfG eViLiSSiMo
-
Hallo,
das sollte gehen:ifstream file("datei.txt"); file.unsetf(ios::skipws); istream_iterator<char> in(file), end; while (in != end) { cout << *in++; }
-
Ja, so funktionierts!
Herzlichen Dank!