掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Win98について (ID:53699)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Eighty さん ご親切にお付き合いどうもありがとうございます。 >バッファのサイズを小さくして、解消するなら分かるけど。 はい。 その通りでございます。w バッファのサイズを小さくしたところで上記の現象が解消できました。 ソースですか・・・ 途中なんですけど・・・ 改行ごとにリストボックスに登録しよと 試みてるところですが・・・ 改行コードをどのように取得できるのか 探しております ^^ /* ソケットから文字列を受信します */ /* 受信した文字列は buf に入ります */ /* 受信する文字列はサーバが送信したものです */ count = 0; i = 0; list_count = 0; list_first = FALSE; lstrcpy(buf_sub, ""); SendDlgItemMessage(ahWnd,IDC_FILELIST,LB_RESETCONTENT,(WPARAM)0,(LPARAM)0); while (1) { buf_len = recv(soc, buf, MAX_PATH - 1, 0); if (buf_len == SOCKET_ERROR ){ fprintf(stderr,"サーバからの受信失敗\n"); shutdown(soc, 2); closesocket(soc); WSACleanup(); MessageBox(ahWnd,"FTPセッション(サーバ受信)を確立できませんでした ","Parameter Error",MB_OK|MB_ICONERROR); return(FALSE); } if ((buf_len == 0) || (buf_len == -1)) { break; } buf[buf_len] = '\0'; /* 受信したバッファの後ろにNULLを付加する */ lstrcat(buf_sub, buf); i = i + buf_len; while (1) { i = lstrlen(buf_sub); idx = strspn(buf_sub, "\r\n"); if (i == idx) { break; } else { strncpy(buf, buf_sub, idx); idx = strspn( buf, "total" ); if (idx != 5) { idx = strspn( buf, "./"); if (idx > 1) { list_count++; SendDlgItemMessage(ahWnd,IDC_FILELIST,LB_INSERTSTRING,(WPARAM)list_count,(LPARAM)""); } idx = strspn( buf, "d"); if (idx != 1) { list_count++; SendDlgItemMessage(ahWnd,IDC_FILELIST,LB_INSERTSTRING,(WPARAM)list_count,(LPARAM)buf); } } strncpy(buf, buf_sub + strspn(buf_sub, "\r\n"), lstrlen(buf_sub)); lstrcpy(buf_sub, buf); } } } もう少し調査してみまーす♪
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.