はじめまして oi2というものですが、
今、Winsockでクライアントとサーバーを作ったのですが、
クライアント側から、特殊文字を送ったら、サーバーが、特殊な反応をしめすプログラムを作っ
ています。
そこで質問なのですが、
//クライアント側
send(sock,↑, lstrlen(↑), 0) //特殊文字”↑”を送る
//サーバー側
char buf[256]; // 受信するバッファ
int buf_len; // 受信したバイト数
buf_len = recv(clientSocket, buf, 256, 0);
if(buf==↑)
{
//”↑”で特殊なことをやる部分
}
///
で、if(buf==↑)が動きません。どういうIF文にすれば、クライアントが、”↑”を送ってき
たとき、反応できるIF文が作れるでしょうか?
if( strcmp(buf,↑)==0 ) かな?
if(buf==↑)は、
bufという配列の先頭要素のアドレスと、↑という一時的な文字列のアドレスを比較して
いることになりますから、比較結果がtrueになることはありません。
http://forums.belution.com/ja/vc/000/115/14.shtml
こちらの発言と同じ方だと思いますが(マルチポストの指摘ではありません)
両方の質問内容を見ると、c言語における文字列の扱い方に関する知識が
足りないと思われますので、その辺を勉強しなおしてはいかがでしょうか。
ここがわからないと、今後も同じような場面で詰まると思いますので。
例えば、
http://www.kab-studio.com/Programing/Codian/ の「文字列操作」
http://homepage1.nifty.com/toshio-k/prog/c/ の10, 11番
などを読んでみると幸せになれるかもしれません。
tibさん、SSさん
ありがとうございました。
if( strcmp(buf,↑)==0 )
で動きました
あと、C言語の勉強もします(^^;
解決
