July 29, 2005
![sp_UserOfflineSmall](https://nordichardware.se/wp-content/sp-resources/forum-themes/reboot/images/darkpack/sp_UserOfflineSmall.png)
problemmet är att denna program skall läsa in en fil och sedan räkna ut antalet tecken första gången fungerar det men i den andre gången fungerar den ej
utskriften blir
ant tecken 28
misslyckad
ant tecken 0 <--- denna skal också bli 28
är det någon som vet varför
#include
#include
using namespace std;
void antteck(ifstream &mystream);
int main()
{
char c;
char mening[200];
ifstream minfil2;
ifstream minfil;
minfil.open("minfil.txt");
antteck(minfil);
minfil.close();
//från och med här fungerar inte programmet har försökt på olika set //utan att lyckas det kommer upp misslyckad
minfil.open("minfil.txt", ios::in);
if(!minfil)
cout << "n misslyckad";
antteck(minfil);
minfil.close();
cout <<"nn";
system("PAUSE");
}
void antteck(ifstream &mystream){
char c;
int x=0;
while(mystream.get(c)){
x++;
}
cout <<"nant tecken "<< x;
}
January 15, 2004
![sp_UserOfflineSmall](https://nordichardware.se/wp-content/sp-resources/forum-themes/reboot/images/darkpack/sp_UserOfflineSmall.png)
Då alla tecken i filen lästs in så kommer get-metoden att returnera en nullrefernes vilket avbryter while-loopen. Vad som även sker är att filströmmen kommer markeras som "dålig" då den gett ett fel vid användningen.
För att få filströmmen att bli ok igen så skriv
mystream.clear();
till exempel innan du returnerar från antteck.
1 Guest(s)
![sp_Information](https://nordichardware.se/wp-content/sp-resources/forum-themes/reboot/images/darkpack/sp_Information.png)