Ergebnis 1 bis 7 von 7

Thema: String verknüpfen, Array, Zeiger??

  1. #1
    HTML Newbie
    Registriert seit
    18.03.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard String verknüpfen, Array, Zeiger??

    Hier erstmal ein Code-Ausschnitt (c++):

    char tmp[80];
    string test;
    cin.getline(tmp, 80);

    test=tmp[1]+tmp[2];
    cout<<test;

    Wenn z.B. Hallo eingegeben wird, will ich das auf der Konsole “ al ” ausgegeben wird.
    Momentan werden mir nur Zeichen ausgegeben. Ich denke, man muss das hier irgendwie mit Zeigern lösen, oder? Ich komme aber leider nicht auf den richtigen Lösungsweg... Fände es super, wenn mir jmd weiter helfen könnte
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Tja, das liegt schlicht und ergreifend daran, dass hier keine "String-zusammenfüg-Funktion" aufgerufen wird, sondern der ASCII Wert von a (97) und l (10 addiert wird.

    Warum nutzt du für tmp eigentlich keinen std::string, wäre einfacher. Für std::string gibt es nämlich einen + Operator der genau das macht was du willst.

    Wenn du mit c-strings arbeiten willst, dann musst du auf strcpy() zurückgreifen. Aber das würde ich nicht empfehlen...

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    18.03.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hm, es reicht aber sicher nicht aus, wenn ich einfach nur std::string vor tmp setze, oder? Jetzt gibt es Problem beim einlesen (also bei getline...)

  4. #4
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Die getline() Funktion für std::string ist ein bisschen anders. Du musst sie jetzt so nutzen:

    getline(cin, tmp);

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    18.03.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Dass heißt es müsste dann so aussehen:

    std::string tmp[80];
    string test;
    getline(cin, tmp);

    test=tmp[1]+tmp[2];
    cout<<test;

    Dies läuft leider immer noch nicht, benötige ich hier noch eine weitere Bibliothek außer <string> ?
    Sorry, wenn ich mich grad ein bisschen blöd anstelle, komme aber grad echt nicht drauf -> Danke für deine Hilfe!!

  6. #6
    HTML Newbie
    Themenstarter

    Registriert seit
    18.03.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    habe grad die [80] hinter tmp entfernt, dann läuft es, bekomme aber immernoch nicht die gewünschte Lösung...

  7. #7
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Das Problem ist, dass string:perator[] eine Referenz auf ein char zurück gibt. Der + Operator aber mindestens einen String haben will.

    So würde es aber beispielsweise gehen:

    Code:
    string tmp1, tmp2;
    getline&#40;cin, tmp1&#41;;
    
    if&#40;tmp1.length&#40;&#41; > 2&#41;
    &#123;
       tmp2 = string&#40;1, tmp1&#91;1&#93;&#41; + tmp1&#91;2&#93;;
       cout << tmp2 << endl;
    &#125;
    In der If-Anweisung lässt du dir temporär einen String erstellen mit dem der + Operator arbeiten kann.

Ähnliche Themen

  1. Sicherer Zeiger
    Von The User im Forum Forum für alle anderen Programmiersprachen
    Antworten: 4
    Letzter Beitrag: 19.08.2008, 19:40
  2. Select mit if-Anweisung verknüpfen
    Von im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 09.05.2008, 23:22
  3. PHP: Zeiger dereferenziern
    Von The User im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 14
    Letzter Beitrag: 03.05.2008, 21:06
  4. Homepage mit Autoresponder verknüpfen
    Von Novalie im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 14.02.2007, 00:05
  5. phpBB Datenbank verknüpfen
    Von Toby003 im Forum Webanwendungen - Webapplikationen
    Antworten: 0
    Letzter Beitrag: 24.07.2006, 14:46

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •