Zu den Aufzeichnungen der tutorials.de-Live-Workshops
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
21
ZUGRIFFE
1428
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    3.985
    Code cpp:
    1
    2
    3
    
    char c0=string1.c_str()[0];
    char c1=string1.c_str()[1];
    char c2=string1.c_str()[2];

    Mit substr kriegst du nur wieder einen String. Es können ja auch mehrere Zeichen (zB 10 bis 18) gefragt sein.
     

  2. #17
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.425
    'substr' liefert den Datentyp 'string'; du müsstest also auf 'char' casten. Weniger umständlich ist allerdings der Zugriff über den Index:
    Code cpp:
    1
    2
    3
    4
    5
    
    char p1  = string1[0];
    //...
    char p10 = string1[9]; 
    char p11 = string1[10]; 
    // usw.
    Gruß
    MCoder

    //EDIT: Casten ist hier Blödsinn
    Geändert von MCoder (25.08.10 um 07:30 Uhr)
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #18
    Shadow1911 Tutorials.de Gastzugang
    Add:
    Ich benutze MS Visual C++ Studio 2010 Express
     

  4. #19
    Shadow1911 Tutorials.de Gastzugang
    Jetzt kommt das nächste Problem was vorher nicht da war -.-
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    cin >> binar;
        string string2 (binar);
        string::reverse_iterator rit;
        //
        char p0=string2.c_str()[0]; 
        char p1=string2.c_str()[1];
        char p2=string2.c_str()[2];
        char p3=string2.c_str()[3];
        char p4=string2.c_str()[4];
        char p5=string2.c_str()[5];
        char p6=string2.c_str()[6];
        char p7=string2.c_str()[7];
        char p8=string2.c_str()[8];
        char p9=string2.c_str()[9];
        char p10=string2.c_str()[10];

    Fehler
    Fehler 1 error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax> &)': Konvertierung des Parameters 1 von 'int' in 'const std::basic_string<_Elem,_Traits,_Ax> &' nicht möglich
     

  5. #20
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.425
    Zitat Zitat von Shadow1911 Beitrag anzeigen
    Jetzt kommt das nächste Problem was vorher nicht da war -.-
    In welcher Zeile tritt der Fehler auf und was ist 'binar' (Datentyp)? Das 'c_str()' ist übrigens entbehrlich - die Klasse string hat einen operator [] definiert, der das Zeichen (char) an der angegebenen Position liefert.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  6. #21
    Shadow1911 Tutorials.de Gastzugang
    Zitat Zitat von MCoder Beitrag anzeigen
    In welcher Zeile tritt der Fehler auf und was ist 'binar' (Datentyp)? Das 'c_str()' ist übrigens entbehrlich - die Klasse string hat einen operator [] definiert, der das Zeichen (char) an der angegebenen Position liefert.

    Gruß
    MCoder
    Binar = int

    Der Fehler tritt an der Stelle auf an der ich dem 'String2' die Variable 'Binar' zuweißen will.
     

  7. #22
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.425
    Die Klasse 'string' hat keinen Konstruktur, dem ein 'int' übergeben werden kann. Spricht was dagegen, die Eingabe gleich in einen String zu schreiben?
    Code cpp:
    1
    2
    
    string string2;
    cin >> string2;
    Andernfalls müsstest du 'binar' erst in einen String konvertieren, etwa mit Hilfe eines Stringstreams:
    Code cpp:
    1
    2
    3
    
    stringstream sstr;
    sstr << binar;
    string string2 = sstr.str();
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

Ähnliche Themen

  1. CSV - Zerlegen
    Von Raven280438 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 04.12.07, 08:59
  2. C# INI zerlegen
    Von toko84 im Forum .NET Café
    Antworten: 5
    Letzter Beitrag: 16.05.07, 10:32
  3. String zerlegen
    Von atango im Forum Java
    Antworten: 11
    Letzter Beitrag: 11.04.07, 18:40
  4. Textdatei zerlegen
    Von igfas im Forum PHP
    Antworten: 2
    Letzter Beitrag: 26.03.07, 15:05
  5. VB.net--Array zerlegen
    Von toggenburg im Forum .NET Archiv
    Antworten: 7
    Letzter Beitrag: 26.04.05, 18:27