ソケット通信を用いて、簡単な通信ゲームを作成しようと思っています。

メッセージ送信時に構造体を送りたいと思っているのですが
どう指定してもエラーになってしまい、作業が止まってしまっています。

下記の様な指定の仕方ですと、エラーは起きないのですが・・・
char buf[256] = { 0 };
send(clsock,buf,256,0);

typedef struct{
inta;
intb;
}sample;

上記のような構造体を送信、受信する場合は、どのように指定すれば良いのでしょうか?

知っている方いましたらご教授お願いします。

A 回答 (2件)

'send':2番目の引数を'sample *'から'const char*'に変換できません。


とエラーが出てしまいます。

>>>

typedef struct{
int a;
int b;
}sample;

sample A;
send(clsock,(char*)&A,sizeof(sample),0);

というふうに強制的に型変換してやれば、問題ないでしょう。
    • good
    • 0

typedef struct{


int a;
int b;
}sample;

sample A;
send(clsock,&A,sizeof(sample),0);

この回答への補足

ご返答ありがとうございます。
早速試して見ましたところ

'send':2番目の引数を'sample *'から'const char*'に変換できません。
とエラーが出てしまいます。

この場合はどうすれば良いのでしょうか?

遅くなりましたが、動作環境は
WinXp Pro:VC++.netです。

補足日時:2005/04/22 23:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング