Zugriffsverletzung - aber wo...



  • kommt aber der gleiche fehler...

    also im hauptprogramm rufe ich die funktion so auf eingabe(zkette);

    in der funktion so wie du es geschrieben hast, allerdings passiert nichts...
    oder brauche ich zusätzliche bibliotheken?



  • Corax schrieb:

    kommt aber der gleiche fehler...

    ups, getline(cin,deinstring) war gedacht, wenn du echt nen string im sinne von std::string nimmst.
    mit char* heißt es cin.getline(s,anzahlBytes)



  • so funktioniert das aber auch nicht

    void eingabe(char* s)
    {
        cin.getline(s,100);
    }
    

    Die Konsole öffnet sich zwar, aber ich kann nichts eingeben, und das Programm stürzt nach ner Weile ab..



  • hast du vorher genug speicher angelegt?

    int main()
    {
       char text[100];//speicher angelegt
       eingabe(text);//sollte gehen
       cout<<"die eingabe war: "<<text<<'\n';
    


  • Wie sieht denn dein umliegender Code aus? Reservierst du genügend Speicher?

    Und wie stürzt das Programm ab?



  • mein code sieht so aus

    int main()
    {
        char zkette[100];
        eingabe(zkette);
        ausgabe(zkette);
        getch();
        return 0;
    }
    
    void eingabe(char* s)
    {
        cin.getline(s,100);
    }
    void ausgabe(char* s)
    {
        while(*s!=0)
        {
            cout<<*s;
            *s++;
        }
    }
    

    also speicher in form von 100 bytes habe ich angelegt,
    eingabe(zkette) ruf die funktion eingabe() auf und übergibt den array an die funktion...
    könnte mir vorstellen, dass irgendwas mit der ausgabe funktion falsch läuft, aber ich kann ja noch nichtmals was eingeben, d.h es kommt ja noch nicht zu der funktion, es muss ja vorher was eingegeben werden, bevor die funktion ausgabe() aufgerufen werden kann...



  • Also bei mir läuft der Code einwandfrei. Eingabe und dann Ausgabe. (MSVC++ 08 Express).



  • hmm also ich habe borland c++, habe die bibliotheken in codeblock eingebunden, schreibe meine codes also mit codeblock

    habs grad mit devc++ ausprobiert, tatsächlich es funktioniert....
    was ich aber nicht verstehe, immerhin ist devc++ ja kostenlos und borland ja nicht soweit ich weiß...die bibliotheken müssten ja ausgereifter sein von borland?



  • Die Qualität hat nichts mit dem Preis zu tun.

    VC08 Express ist auch Kostenlos, aber trotzdem als die VC05 Premium. 😉

    Das hat was mit Aktualität und Qualität zu tun. Ich würde aber eh VC oder GCC raten.. Die sind beide auf dem neusten Stand und ebenfalls kostenlos. (bei VC wenigstens die Express Edition).



  • drakon schrieb:

    Die Qualität hat nichts mit dem Preis zu tun.

    VC08 Express ist auch Kostenlos, aber trotzdem als die VC05 Premium. 😉

    Das hat was mit Aktualität und Qualität zu tun. Ich würde aber eh VC oder GCC raten.. Die sind beide auf dem neusten Stand und ebenfalls kostenlos. (bei VC wenigstens die Express Edition).

    gcc (MinGW für Windows) ist nicht wirklich auf dem neusten Stand. Vor allem nicht die mit Codeblocks ausgelieferte Version. Am aktuellsten ist vermutlich noch diese Version.
    Wie gesagt, das ist bezogen auf Windows.



  • Tachyon schrieb:

    gcc (MinGW für Windows) ist nicht wirklich auf dem neusten Stand. Vor allem nicht die mit Codeblocks ausgelieferte Version. Am aktuellsten ist vermutlich noch diese Version.
    Wie gesagt, das ist bezogen auf Windows.

    Naja. Unter Windows würde ich sowieso eher VC empfehlern. Ist imo unschlagbar. 🙂


Anmelden zum Antworten