integer var in ini



  • #include <iostream>
    #include <Windows.h>
    using namespace std ;
    int main ( ) {
        int x ;
        cout << "X: " ;
        cin >> x ;
        WritePrivateProfileInt("Test1","Test2", x ,"c:\\test.ini") ;
        return 0 ;
    }
    

    Das is der Problemcode.
    Eigentlich müsste doch WritePrivateProfileInt in der gleichen Bibliothek wie WritePrivateProfileString sein aber wenn ich den code compiliere bekomm ich die Meldung: `WritePrivateProfileInt' undeclared (first use this function)

    Kann mir da bitte einer helfen?

    danke im vor raus....



  • Nicht Windows.h sondern windows.h . Also klein geschrieben. Und Voraus schreibt man mit nur einem 's', daher die Zensur. 🙂



  • xD Deutsch war noch nie meine Stärke

    aba wieder zum Hauptproblem: wenn ich windows klein schreib ändert des garnix.



  • WritePrivateProfileInt ist in der MSDN nicht dokumentiert und in der windows.h ist diese ebenfalls nicht zu finden, sie existiert also nicht.

    Als Alternative bietet sich Dir WritePrivateProfileString an. Zur nötigen Umwandlung des Integers in einen String helfen Dir Stringstreams weiter:
    http://fara.cs.uni-potsdam.de/~kaufmann//faqs/IntToString.pdf

    #include <sstream>
    #include <string>
    
    std::ostringstream strstream;
    strstream << i;
    
    std::string my_string;
    my_string = strstream.str();
    


  • Ty werds ma ausprobieren.



  • Entweder bin ich einfach zu dumm oda die funzen iwi anders.

    gehn bei mir alle 3 ned.
    need help pls!



  • Welche "alle 3"? Und was geht nicht? Genauere Problembeschreibung! Zeig die relevante Codestelle, die nicht funktioniert und poste dazu die Fehlermeldungen.



  • Die drei aus dem pdf.

    erster code :

    #include <iostream>
    #include <windows.h>
    #include <sstream>
    using namespace std;
    int main () {
        int i ;
        void IntToString (i, string& res) {
             ostringstream temp;
             temp << i ;
             res = temp.str ;
             }
             WritePrivateProfileString ("test", "test", i "c:\\test.ini")
        }
    

    Fehler:
    variable or field IntToString' declared void expected primary-expression before '&' tokenres' undeclared (first use this function)
    initializer expression list treated as compound expression
    expected ,' or;' before '{' token
    expected )' before string constant invalid conversion from \int' to `const CHAR*'
    C:\Dev-Cpp\include\winbase.h too few arguments to function `BOOL WritePrivateProfileStringA(const CHAR*, const CHAR*, const CHAR*, const CHAR*)'

    so denk das wars.



  • Funktionen kann man nicht schachteln, das heißt, deine Funktion IntToString muss außerhalb der main definiert werden. So ist's richtig:

    #include <windows.h>
    #include <sstream>
    
    int main () 
    {
        int i(0); // Einen Wert zuweisen, hier eine Initialisierung
        std::ostringstream strstream;
        strstream << i;
    
        std::string my_string;
        my_string = strstream.str();
        WritePrivateProfileString ("test", "test", my_string.c_str(), "c:\\test.ini");
    }
    

    Das ist eine Lösung ohne IntToString -Funktion, da diese in dem Fall nicht wirklich sinnvoll ist.

    Desweiteren hast Du Semikolone und Kommas vergessen, das nächste Mal doch bitte etwas mehr Selbstinitiative. Ich würde Dir empfehlen, erst die Grundlagen von C++ zu erlernen, bevor Du Dich an solche Dinge wagst. 🙂



  • ty

    Ich vergess se halt öfter aba des is ja nich as hauptproblem bei der sache...



  • as hauptproblem bei der sach is, dass du ned woast wos du duast. und dass du boarisch schreibst. 😉


Anmelden zum Antworten