Dateien einlesen unter MSVC.Net



  • Hi,

    was ist da falsch?
    (nur unter MSVC.Net geht das nicht unter Borland usw funktioniert das)

    int main(int argc, char* argv[])
    {	
    	fstream File("Test.dat", ios::binary);
    	char sText[1024];
    
    	if (File.is_open())
    	{
    	    for (int i = 1; i < 10 ; i++)
    		{
    			File.getline ( sText, strlen(sText), ',' );
    			printf ( "Zeile: %d %s\n", i, sText);
    		}
    	}
        File.close(); // Datei schließen	getchar();
    	getchar();
    	return 0;
    

    Ich will nur unter C++ eine Datei einlesen

    Vielen Dank fuer euere Hilfe



  • Wenn das funktioniert, ist es Zufall. Du wendest strlen auf ein uninitialisiertes char-Array an. Hier wäre wohl eher sizeof angebracht, oder gleich std::getline, das kann auch std::strings füllen.

    Übrigens: "Geht nicht" ist eine schlechte Fehlerbeschreibung. Hier war's noch klar, aber beim nächsten Mal bitte etwas ausführlicher 😉



  • Hi,

    sorry fuer die "schlechte Fehlerbeschreibung"

    er liest nichts mit getline ein
    (auch bei

    File.getline ( sText, sizeof(sText), '\n' );
    

    nicht

    Was mache ich (MSVC) da falsch ?

    Mfg
    Klaus



  • Wo liegt die Datei Test.dat denn? Im Projektorder oder im Ordner, in dem die .exe erstellt wird (Debug)?

    Übrigens: Die Fehlerbeschreibung "er liest nichts ein" ist nicht besser.


Anmelden zum Antworten