ifstream::readsome



  • Hi,

    FileInputStream.open( "C:\\1.txt" );
    if( FileInputStream.is_open() )
    {
    	//...
    	while( FileInputStream.good() )
    	{
    		// read
    		char szBuffer[ 100 ];
    		int nCharsRead = FileInputStream.readsome( szBuffer, sizeof( szBuffer ) );
    
    		// ...
    	}
    }
    

    readsome liest keine Daten aus der Datei. Aber die Funktion get schon. Hat jemand dafür eine Erklärung?



  • Hi,

    Also imo liegt das ganz einfach dadran das 1.txt kleiner als 100 Bytes groß ist.

    D.h. readsome ließt nur dann etwas ein wenn Daten > BufferGröße.

    MfG



  • Ich habs jetzt auch mal getestet mit größerem und kleinerem Puffer, als die Zeichen in der Datei und es funktionierte bei mir auch nicht (wurden jedes mal 0Zeichen gelesen) sowohl im Textmodus als auch Binär.



  • Genau das gleiche Problem habe ich auch...
    Ich brauch readsome eigentlich nur um die Anzahl der gelesenen Bytes herauszufinden. Aber mit gcount kann ich dies auch machen.
    Nur schon irgendwie seltsam dass readsome garnichts liest...


Anmelden zum Antworten