Gå til innhold

Lengden av strenger ?


Anbefalte innlegg

Hei.

 

Problemet er at jeg skal lese inn for- og etternavn vha av cin (i ei og samme cin-setning), før lengden av for- og etternavnet skal skrives ut.

 

Prøvde:

 

string navn;

cout << "Skriv in fornavn og etternavn: " << endl;

cin >> navn;

 

 

//Videre hadde jeg tenkt å bruke

int totalLengde = navn.length(); //Totale lengden på strengen

 

 

//Før

int posisjon = navn.find(" ",0); //skulle gi meg posisjonem til mellomrommet.

 

//Med den totale lengden av hele strengen, samt mellomrommet's posisjon kunne jeg enkelt finne lengden av fornavnet og etternavnet.

 

//MEN,-

//int totalLengde = navn.length()

//Finner bare fornavnets lengde

 

//EKS

//Hvis jeg skriver inn "Ole Hansen", blir totalLengde = 3,

//og videre beregning umulig

 

 

 

Noen forslag?

Lenke til kommentar
Videoannonse
Annonse

cin << navn;

leser bare inn første ordet.

Bruk

getline(cout, navn);

for å lese inn hele navnet (en helt setning)

 

std::string::find() returnerer std::string::size_type, eller size_t hvis jeg ikke tar helt feil.

Du vil få en warning om "possible loss"

samme gjelder std::string::length()

Lenke til kommentar
  • 2 uker senere...

#include <iostream>
#include <string>

using namespace std;

int main() {
string navn;
cin >> navn;
cout << navn.length();
return 0;
}

eller

#include <iostream>
#include <string>

int main() {
std::string navn;
cin >> navn;
cout << navn.length();
return 0;
}

 

(med forbehold om skrivefeil)

EDIT: fant en allerede.

Endret av Nazgul
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...