用if检查char

Rrj*_*jji 0 c gtk gtkentry

我真的不知道为什么,但这似乎不起作用.对我来说似乎完全有效:

gchar *text = gtk_entry_get_text(entry);
if(text == "hello") { 
    //do sth
}
else {
    //do sth else
}
Run Code Online (Sandbox Code Playgroud)

即使我输入hello也没有任何反应,但调用else {}中的代码.问题是什么?

Tim*_*per 5

您需要使用strcmp以下方法比较字符串:

if(strcmp(text, "hello") == 0) { 
    //do sth
}
else {
    //do sth else
}
Run Code Online (Sandbox Code Playgroud)

你正在做的是比较两个指针. 阅读更多.