Schönen guten Tag.
Also ich habe da eine ganze Menge .inf Dateien in verschiedenen Ordnern. Den Pfad zu den Ordnern lasse ich vom Nutzer eingeben. Mein Programm läuft dann den Ordner durch und zeigt alle Dateien an, die sich dort aufhalten. Davon brauche ich aber nur die .inf Dateien
In diesen .inf Dateien gibt es an vielen Stellen leere Zeilen die entfernt werden sollen.
Nun habe ich folgende kleine Probleme.
- Dateien wie .txt lassen sich ohne Probleme öffnen. Bei .inf Dateien zeigt er mir gar nichts an. Wie kann ich mein Programm dazu bringen, .inf Dateien zu lesen?
- Wie kann ich vom Programm prüfen lassen, ob die aktuell ausgewählte Datei eine .inf ist?
- Wie bekomme ich es hin diese Leerzeilen zu entfernen? Hatte mir sowas gedacht wie alle '\n\n' durch '\n' zu ersetzen, aber mit wenig Erfolg.
Anbei nun der Code
Also ich habe da eine ganze Menge .inf Dateien in verschiedenen Ordnern. Den Pfad zu den Ordnern lasse ich vom Nutzer eingeben. Mein Programm läuft dann den Ordner durch und zeigt alle Dateien an, die sich dort aufhalten. Davon brauche ich aber nur die .inf Dateien
In diesen .inf Dateien gibt es an vielen Stellen leere Zeilen die entfernt werden sollen.
Nun habe ich folgende kleine Probleme.
- Dateien wie .txt lassen sich ohne Probleme öffnen. Bei .inf Dateien zeigt er mir gar nichts an. Wie kann ich mein Programm dazu bringen, .inf Dateien zu lesen?
- Wie kann ich vom Programm prüfen lassen, ob die aktuell ausgewählte Datei eine .inf ist?
- Wie bekomme ich es hin diese Leerzeilen zu entfernen? Hatte mir sowas gedacht wie alle '\n\n' durch '\n' zu ersetzen, aber mit wenig Erfolg.
Anbei nun der Code
Code:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
string replace(string inputS, char oldC, string newS){
string retValS = "";
int pos = inputS.find(oldC);
for(int i = 0; i < pos; ++i){
retValS += inputS[i];
}
retValS += newS;
for(int i = pos +1; i < inputS.length(); ++i){
retValS += inputS[i];
}
return retValS;
}
int main()
{
int i = 0;
ifstream file("datei.txt");
std::string buffer;
while (!file.eof())
{
getline(file, buffer);
buffer = replace(buffer, '\n', "");
if(buffer == "\n")
{
cout << buffer << endl;
}
else
{
cout << "NULL" << endl;
}
}
getline(file,buffer);
file.close();
getchar();
return 0;
}