C++ (kein QT), Zeilenende wird beim Einlesen ignoriert
Verfasst: 24. September 2015 11:55
Wollte eine csv-Datei einlesen (importieren) nach der Methode "Zeichen einzeln lesen.
Nun wird aber offenbar das Zeilenende ignoriert.
Gibt es einen Mode, bei dem binär einliest?
void datei_les_csv_test()
{
cout << "----------- Hier ist datei_les_csv_test()" << endl << endl;
//ifstream textDatei("datei.csv");
ifstream textDatei("datei.csv", ios::in);
str = "";
zeichen=' ';
while (! textDatei.eof())
{
textDatei >> zeichen;
printf("%c %d|", zeichen, zeichen);
if (zeichen == 10) cout << "Zeilenende erkannt" << endl;
///if (zeichen == ';' || zeichen == 10) //!!!!!!!!! DAS HIER GEHT OFFENBAR NICHT
if (zeichen == ';')
{
cout << endl << "str=" << str << endl << endl;;
str="";
}
else
str += zeichen;
} //if (zeichen == ';')
}
------------------------------------------------------------------------------------------------------------------------
Testdatei (die am Ende der Zeile natürlich keinen Strichpunkt hat):
AA;BB;CC
DD;EE;FF
Nun wird aber offenbar das Zeilenende ignoriert.
Gibt es einen Mode, bei dem binär einliest?
void datei_les_csv_test()
{
cout << "----------- Hier ist datei_les_csv_test()" << endl << endl;
//ifstream textDatei("datei.csv");
ifstream textDatei("datei.csv", ios::in);
str = "";
zeichen=' ';
while (! textDatei.eof())
{
textDatei >> zeichen;
printf("%c %d|", zeichen, zeichen);
if (zeichen == 10) cout << "Zeilenende erkannt" << endl;
///if (zeichen == ';' || zeichen == 10) //!!!!!!!!! DAS HIER GEHT OFFENBAR NICHT
if (zeichen == ';')
{
cout << endl << "str=" << str << endl << endl;;
str="";
}
else
str += zeichen;
} //if (zeichen == ';')
}
------------------------------------------------------------------------------------------------------------------------
Testdatei (die am Ende der Zeile natürlich keinen Strichpunkt hat):
AA;BB;CC
DD;EE;FF