kann mir das jemand bitte in c++ übersetzen mit streams?



  • hoi kann mir jemand bitte den code in c++ übersetzen?

    if((pfile == fopen("text.txt", "r")) == NULL)
    		Game_Shutdown();
    
    	fscanf(pfile, "%s", stringBuffer);
    	fscanf(pfile, "%s", stringBuffer);
    	fscanf(pfile, "%s", stringBuffer);
    	fscanf(pfile, "%s", stringBuffer);
    	fscanf(pfile, "%s", stringBuffer);
    
    	fscanf(pfile, "%s", stringBuffer);
    	fscanf(pfile, "%s", &ResNr);
    

    wäre sehr dankbar!!

    😉

    cu,
    U.A.



  • fscanf(pfile, "%s", &ResNr);
    

    ist ResNr ein String???

    Schau dir mal ein Tutorial zu streams an.



  • Naja also durch %s gibst du ja an, das du bis zum nächsten Whitespace einlesen möchtest.

    In C++ macht man dies in der Tat, wie frasche schon sagte, durch Streams. Diese können, wie im Falle eine std::fstreams, gebuffert sein. Was dies für Konsequenzen hat, wird dir deutlich, wenn du dich mal ein wenig dazu einließt 😉

    Achja, dein Code ist so etwas merkwürdig, da du selbst wenn die Datei nicht geöffnet werden konnte, einfach einließt (return fehlt!)

    std::ifstream file_stream("test.txt");
    if (!file_stream) { Game_Shutdown(); return false; }
    
    std::string skip;
    for (std::size_t i(0); i < 6; ++i)
        file_stream >> skip;
    
    file_stream >> ResNr;
    

    wäre so in etwa das, was du brauchst 😛


Anmelden zum Antworten