writeとかsendが嫌いなんでfdopenでfprintfとかで使えるようにしたんだけど、
どうもうまく動作しない。
一番最後のfprintfで引っかかり、さらに最初のfgetsが動かない。
fgetsはまぁサーバー側のfprintfでみすってるからだろうけど。
下にその部分のクライアント側のソース貼っとく、おかしなところ頼む。
ちなみにここまでは全部問題ない。
あ、変数はfpがFILE*型でstrはchar型の配列、sockはWINSOCK型。
途中のDelRet関数は文字列中の\nを消すだけ。

fp = _fdopen(sock, "r+");
if (fp==NULL) {
__printf("fdopen() Failed.");
__exit(1);
__}
setvbuf(fp, NULL, _IONBF, 0);

__if (fgets(str, sizeof(str), fp)==NULL) printf("NULL1\n");
__if (fprintf(stdout, "%s\n", str)<0) printf("fprintf()1\n");
__if (fgets(str, sizeof(str), stdin)==NULL) printf("NULL2\n");
__DelRet(str);
__if (fprintf(fp, "%s\0", str)<0) printf("fprintf()2\n");