2017-02-16 112 views
-1

我試圖在我的C-Server中執行IF語句
IF聲明。變量

read(client_fd,received_data,100); 
printf("%s",received_data); 

我想打印 「OOO」 如果接收到的數據等於 「測試

if (received_data == "test") { 
printf('ooo'); 
} 

上述示例導致錯誤。 (不能編譯)

我不知道很多C.

UPDATE:

現在我可以編譯罰款(改變''000'「嗚嗚嗚」後)
但是,雖然我正在發送「測試」它..如果聲明沒有做我認爲的任何事情。

+0

多個問題.. C中的字符串必須在雙引號內,字符在單引號內。你不能使用'=='比較字符串,使用'strcmp()' – Haris

+0

「導致錯誤」 - 並且錯誤信息是什麼意思? – Quentin

+0

@Haris,用雙引號固定編譯錯誤。我發送了「** test **」給它,但是如果語句沒有被觸發,我想。我試過「** = **」而不是「** == **」..編譯錯誤。 – Joey

回答

1

==不適用於const char *。 改爲使用strcmp

+0

你如何使用它? ** if(received_data strcmp「test」)**? – Joey

+0

答案聽起來有點誤導我。 '=='對'const char *'確實有效,但不是OP認爲它的作用...... – HolyBlackCat

+0

@HolyBlackCat我沒有得到那個評論 –