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,'.');
    } 
    //Ende
    

    Nun 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 🤡


Anmelden zum Antworten