Frage zur Funktion length()?
-
Hallo,
ich habe folgendes Problem:
in meinem Programm soll der Benutzer eine Texteingabe tätigen, die maximal 5 Punkte (= 5 Sätze) lang sein kann, sich aber über mehrere Zeilen erstrecken kann.//Programmausschnitt char p= '.'; string eingabe; for (p=1; p<5; p++){ getline(cin,eingabe,'.'); } //EndeNun soll die Länge der Eingabe jeder einzelnen Zeile ermittelt werden.
Also im Prinzip bis '\n'. Wie kann ich dies am besten umsetzten???
Es wird wohl mit der length()-Funktion zu lösen sein?
Vielen Dank im Voraus.
MFG
-
Tachchen, also erstmal ist mir aufgefallen, das du die vorherigen Eingaben gar nicht speicherst...(werden die nicht mehr gebraucht ?)
wär das so nicht sinnvoller ?:
// Programmausschnitt: char chPoint = '.'; const int iMaxInputs = 5; string strEingabe[iMaxInputs]; for(int iCount = 0; iCount < iMaxInputs; iCount++) { getline(cin, strEingabe[iCount], chPoint); } // Ende.tjo, dann kannste die Länge der einzelnen Zeilen so ermitteln (nochmal ganzer Programmcode):
#include <iostream> #include <string> using namespace std; int main() { const char chPoint = '.'; const char chNewLine = '\n'; const int iMaxInputs = 5; int iIndex = 0, iCount; string strEingabe[iMaxInputs]; for(iCount = 0; iCount < iMaxInputs; iCount++) getline(cin, strEingabe[iCount], chPoint); // Für den ersten String: if((iIndex = strEingabe[0].find(chNewLine, 0)) != string::npos) cout << "Der erste String ist mind. eine Zeile lang! (Anzahl der Zeichen im ersten Satz: " << iIndex << " )" << endl; else cout << "Der erste String ist nur eine Zeile lang!" << endl; // usw. sinnvollerweise mit Schleifen... // ... return (0); }Hoffe mal das war gemeint

Edit: Ein 'e' zu viel
