tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
3379
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    680
    Wenn ich ein array von int´s erzeugen will, geht das einfach

    int myarray[] = {0,0,0,0};

    Wenn ich das array mit Werten füllen will, ist auch einfach

    for(int i = 0; i < 4; i++)
    {
    myarray[i] = i;
    }

    Aber wie geht das mit std::string´s? Geht das überhaupt?

    Mir ist klar, dass das Folgende nicht funktioniert, ich gebe es nur mal als Beispiel, damit ihr seht was ich gerne hätte

    std::string mystring[] = {"","", usw};

    so dass ich später machen kann:

    mystring[0] = "Text1";
    mystring[1] = "Text2";
    usw.

    und am Ende mit einer Schleife die Texte abrufen kann

    for (int i = 0; i < 10; i++)
    {
    machirgendwasmit mystring[i];
    }

    Logisch, ich kann das Ganze einfach ohne Schleife machen, die strings einzeln definieren, jeden mit nem anderen Namen, einzeln füllen und einzeln abrufen, aber ich brauche 73 davon und das wäre mit einer Schleife schon viel komfortabler
     

  2. #2
    andy72 andy72 ist offline Mitglied Platin
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    655
    HiHo,

    Du kannst die std::string zB in einem std::vector (ist eine Container-Klasse) speichern, und komfortabel abrufen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    #include <vector>
    #include <string>
    #include <iostream>
    using namespace std;
     
    typedef vector<string> myList;
     
    int main() {
      string str1 = "Hello";
      string str2 = "World";
      string str3 = "-";
      string str4 = "Hier kommt mein std::string";
     
      myList L;
      L.push_back(str1);
      L.push_back(str2);
      L.push_back(str3);
      L.push_back(str4);
     
      for( unsigned int i = 0; i< L.size(); i++ )
        cout << (string)L.at(i) << endl;
     
      return 0;
    }
     

  3. #3
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    680
    Herzlichen Dank, das klappt prima
     

  4. #4
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von Thomasio Beitrag anzeigen
    Mir ist klar, dass das Folgende nicht funktioniert, ich gebe es nur mal als Beispiel, damit ihr seht was ich gerne hätte
    std::string mystring[] = {"","", usw};
    Im Prinzip geht das schon, du musst halt nur string-Objekte in das Array packen:
    Code cpp:
    1
    2
    3
    
    std::string mystring[] = { std::string(""),
                               std::string(""),
                               std::string("") };
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  5. #5
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    680
    Das ist sogar noch besser, ist ja logisch, aber darauf bin ich gar nicht erst gekommen
    Vielen Dank auch
     

Ähnliche Themen

  1. Anfänge in C - Strings, Pointer, Array
    Von leon_20v im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 03.12.10, 02:08
  2. Wieviele Strings sind im Array?
    Von §Alptraum§ im Forum Java
    Antworten: 6
    Letzter Beitrag: 02.05.10, 13:58
  3. Problem mit Strings und Array
    Von cesupa im Forum PHP
    Antworten: 3
    Letzter Beitrag: 01.04.06, 13:11
  4. 2 strings in ein Array + return
    Von Fridulin im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 14.03.05, 12:44
  5. 2D Array für Strings erstellen
    Von astaluego im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 18.02.05, 09:26