hvordan indlæse en streng karakter for karakter?
Er der en venlig og vidende sjæl der kan hjælpe mig med efterfølgende?Jeg er ifærd med at overloade >> operatoren således at den kan tage et objekt at typen mystring (streng klasse)
- men hvilken kode skal jeg bruge for at få læst en fra keyboardet indtastet streng ind, når de enkelte karakterer skal læses en af gangen og tilføjes til enden af strengen.
Dertil skal det parameter overførte target objekt før indlæsningen sættes til en tom streng
Funktionen må ikke være medlemsfunktion eller friend.
Følgende er medlemsfunktioner -
En overloaded Subscript operatoren (return sequence[position])
Og en overloaded += operatoren - void mystring::operator +=(char addend)
Er der en venlig og vidende sjæl der kan hjælpe mig med at udfylde nedstående?
std::istream& operator >>(std::istream& ins, mystring& target)
{
size_t i,j=0;
// ignorer al whitespace før streng
while(ins && isspace(ins.peek()))
ins.ignore();
Target sættes til tom streng ?
while(ins && !((isspace(ins.peek()))|| ins.peek()==EOF))
{
??????????????
}
return ins;
}
Jeg skulle mene at den overloadede subscript / [] operator (return sequence[position]) ville give adgang til det instantierede objekt, i hvis char array tekststrengen fra indput strømmen skal ind ? – og derfor kan anvendes i denne forbindelse??.
Eller er der brug for en ekstra funktion der tilgår streng objektets char array ?
Mvh NatashaElina