Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » vector<char>

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.06.2006, 20:04 Uhr
~noFreak
Gast


Hallo alle zusammen...
habe schon etwas gegoogelt um eine Lösung meines Problems zu finden, konnte es bisher leider nur nicht lösen.
Und zwar versuche ich gerade eine in eine richtung dynamische 2Dim Datenstruktur mit Hilfe
von vector<char> (Y) und char[]'s zu basteln. Habe dazu folgenden Code:

C++:
//.h

class lab  
{
public:
    void insert(char insStr[]);
    ...
    lab();
    virtual ~lab();

private:
...
    vector<char> labY;
};


Dieser Post wurde am 10.06.2006 um 23:18 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.06.2006, 20:08 Uhr
~noFreak
Gast


sorry...
habe "insert()" folgendermassen implementiert:


C++:
void lab::insert(char insChars[])
{
    int strLeng = countXchars(insChars);

    if(MaxX==strLeng)
    {
        labY.at(insChars[0]);
    }
    countYValue();
}



labY.at(insChars[0]);
<- diese Zeile verursacht allerdings Laufzeitfehler. Ist ja auch
verständlich, da hier ja nur die Adresse des ersten Zeichens übergeben wird,
aber wie kann ich es trotzdem schaffen, dass in den Vectorelementen jeweils ein Char[]
drinne steht? Jemand ne ahnung?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.06.2006, 21:34 Uhr
Karldin Shinowa
Professional Noob


verwendet man zum anhängen nicht push_back(insChars[0])?
also dann so

C++:
void lab::insert(char insChars[])
{
    int strLeng = countXchars(insChars);

    if(MaxX==strLeng)
    {
        labY.push_back(insChars[0]);
    }
    countYValue();
}


--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.

Dieser Post wurde am 07.06.2006 um 21:35 Uhr von Karldin Shinowa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.06.2006, 13:05 Uhr
~noFreak
Gast


Ja, dankeschön -> keine Laufzeitfehler mehr,
Hatte v.at() aber auch falsch angewendet, so weit ich es jetzt verstanden habe kann man
damit auf bereits vorhandene elemente zuweisung ausführen (incl. range check), aber da ja
noch keine Elemente vorhanden gewesen sind kann es natürlich deswegen in die Hose gegangen
sein.
Also vielen vielen Dank für die Hilfe.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.06.2006, 22:51 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.06.2006, 23:21 Uhr
kronos
Quotenfisch
(Operator)



Zitat von ~noFreak:
Und zwar versuche ich gerade eine in eine richtung dynamische 2Dim Datenstruktur mit Hilfe
von vector<char> (Y) und char[]'s zu basteln.

Wie wär's mit
C++:
std::vector<std::vector<char> >
oder meinetwegen auch
C++:
std::vector<char*>
?
Oder willst du unbedingt die STL nachbauen?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.06.2006, 23:02 Uhr
~noFreak
Gast


ähhh...ersteres ist natürlich auch ne tolle möglichkeit gelle...
von zeigern lass ich bewusst noch die Finger, erst mal das bisher gelernte ordentlich
und sinnvoll anwenden.
Also vielen Dank für die Vorschläge!
mein Kopf gegen Wand->Loch in Wand->klügere hat nachgegeben...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: