strcmp
-
ZuK schrieb:
die frage ist was compare zurückgeben soll.
string<B.getString() dann soll -1 zurück gegeben werden
string=B.getString() 0
string>B.getString() +1
-
Das ist genau was strcmp() zurückgibt. Dann sollte meine Antwort richtig.
K
-
ok...vielen dank
-
noch eine kurze frage...wie kann ich das zurückgegebene ausgeben lassen?
-
BTW: dein constructor funktioniert nicht. string ist so nicht 0-terminiert.
entweder du verwendest strcpy() oder du du must noch ein '\0' anhängen.
Kurt
-
bla1 schrieb:
noch eine kurze frage...wie kann ich das zurückgegebene ausgeben lassen?
cout<<myStringa.compare(myStringb)<<endl;K
-
Entschuldige meine vorige Antwort war falsch strcmp() gibt <0 zurück wenn string1 < string2 und >0 wenn string1 > string2.
dein compare muss dann so aussehen.int myString::compare(myString B) { int cmp =strcmp(string, B.getString()); if ( cmp < 0 ) return -1; if ( cmp > 0 ) return 1; return 0; }Kurt
-
ZuK schrieb:
Entschuldige meine vorige Antwort war falsch strcmp() gibt <0 zurück wenn string1 < string2 und >0 wenn string1 > string2.
dein compare muss dann so aussehen.musst dich nicht entschuldigen...du warst mir eine große hilfe...
Vielen Dank
-
ZuK schrieb:
oder du du must noch ein '\0' anhängen.
wo hin genau jetzt?
-
zb. so
myString::myString(char S[]){ for(int i=0; S[i]!='\0'; i++) { string[i]=S[i]; } string[strlen(S)]='\0'; }Kurt