Hi ich versuche, die Anzahl der Zeilen und die Anzahl der Zeichen in einer TXT-Datei zu zählen, nach 1 Funktion, die die Zeilen zählt (es funktioniert) die Char Counter dosent Arbeit aber wenn Ich benutze den Char-Zähler allein es funktioniert. (Ich weiß, ich es auf eine Funktion mischen kann, aber ich habe ein größeres Problem, dass dieses Beispiel beheben)C++ fstream dosent Arbeit nach 1 Funktion (durch Referenz)
Main:
int main()
{
ifstream isf("D:\\test.txt", ios_base::in);
ofstream osf("D:\\test.txt", fstream::app);
//WriteToFile(osf,isf);
cout << CountLines(isf)<< endl;
cout << CountChar(isf) <<endl;
isf.close();
osf.close();
return 0;
}
die Funktionen:
const int CountLines(ifstream& isf)
{
int count = 1;
char c;
while (isf.get(c))
{
if (c == '\n')
++count;
}
return count;
}
const int CountChar(ifstream& isf)
{
int count = 0;
char c;
while (isf.get(c))
{
++count;
}
return count;
}
die txt-Datei:
abc
abc
die Ausgabe:
2
0
Press any key to continue . . .
und sollte die Ausgabe
sein2
7
Press any key to continue . . .
es noch dosent Arbeit – Rokni
@Rokni Wie _ "es funktioniert nicht "_ speziell? Vielleicht kann das Hinzufügen eines 'isf.clear()' helfen, den Stream-Zustand vollständig zurückzusetzen. –
es funktioniert nicht, aber wenn ich ihre Reihenfolge ändern, tut es. il bearbeite deinen Beitrag und markiere ihn als Antwort Danke, du musst nur den Schnitt überprüfen :) – Rokni