Hi.
Ich möchte gerne folgendes mit C++ machen:
Eine Datei einlesen -> irgendwas mit den Daten anstellen -> die bearbeiteten Daten wieder in eine Datei schreiben. Das ganze soll allerdings auch mit UTF-8 kodierten Dateien funktionieren, und das tut es im Moment nicht. Ich weiß nicht woran es liegt, möglicherweise ist sowas mit den normalen Strings in C++ nicht möglich?
Hier mal der Code:
Ich möchte gerne folgendes mit C++ machen:
Eine Datei einlesen -> irgendwas mit den Daten anstellen -> die bearbeiteten Daten wieder in eine Datei schreiben. Das ganze soll allerdings auch mit UTF-8 kodierten Dateien funktionieren, und das tut es im Moment nicht. Ich weiß nicht woran es liegt, möglicherweise ist sowas mit den normalen Strings in C++ nicht möglich?
Hier mal der Code:
Code:
#include <cstdlib>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
// Datei einlesen
ifstream file_input("einedatei.txt",ios::binary);
string line, file_contents;
if(file_input.bad())
{
//exit
}
else
{
do
{
getline(file_input,line);
file_contents += (line + "\n");
}
while(file_input);
}
file_input.close();
// Datei ausgeben
stringstream out;
out << file_contents << "<- ein string der utf-8 daten enthalten sollte" << endl;
ofstream file_output;
file_output.open("eineanderedatei.txt",ios::binary);
if(file_output.bad())
{
cout << "Error when trying to save the output file!" << endl;
//exit
}
while(out.good())
{
getline(out,line);
file_output << line << "\n";
}
file_output.close();
}