webForumDet fria alternativet

strcmp

C/C++

2 svar · 301 visningar · startad av turbofreddan

Medlem sedan apr. 2003115 inlägg
Frågan#1

jag som är du kanske, men hur gör man

jag vill jämföra det min pekare pekar på som är av typen string med en annan string, hur skriver man?

alltså typ

if (data->text == text)
där text är av typen string

strcmp eller va är deT?

Medlem sedan apr. 2003100 inlägg
#2

Det är strcmp du ska använda:

prototyp: int strcmp(const char *s1, const char *s2);

returvärden: Mindre än s2 < 0
samma som s2 == 0
större än s2 > 0

ex:
if (strcmp(Data->String1, Data->String2) == 0) {
cout << "Lika!";
}

Kom ihåg att inkludera string.h

Medlem sedan juni 200010 432 inlägg
#3

Om det är C blir string.h och strcmp ett vettigt alternativ. Är det C++ skulle jag föredra string (utan .h) och compare(string x)

#include <string>
...
...
...

string r;
string s = "Kalle";
cin >> r;
if(s.compare(r)==0) //är 0 om lika
    cout << " Ok!" << endl;

Iofs är == operatorn överlagrad i string så det torde fungera med endast "==" för att se om de är lika. Förutsatt att du inkluderat string utan .h, förstås ;)

384 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
132 ms — hämta statistik (db)
121 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)