文字列のコピーについて


ようた  2008-07-25 17:18:34  No: 68786  IP: [192.*.*.*]

エディットボックスに文字列を貼り付けることをしたいのですが、
list_bufからedit_bufに文字列をコピーする際に最初の要素しかコピーされません。
以下簡略化したソースです。
よろしくおねがいします。


usingspace std;

vector<string> edit_buf;
vector<string> list_buf;
string str;

// list_bufをedit_bufにコピー
for(int i = 0; i < list_buf.size(); i++ ){
   str = listbuf[i];
   edit_buf.push_back(str);
   edit_buf.push_back("\r\n");
}
// エディットボックスに文字列をセット
SetDlgItemText( hDlgWnd, IDC_EDIT1, (LPTSTR)edit_buf[0].c_str() );

編集 削除
アキラ  URL  2008-07-25 18:15:35  No: 68787  IP: [192.*.*.*]

こういうことですか?

string edit_buf;
vector<string> list_buf;

for (int i = 0; i < list_buf.size(); i++) {
    edit_buf += list_buf[i] + "\r\n";
}

SetDlgItemText(hDlgWnd, IDC_EDIT1, edit_buf.c_str());

編集 削除
επιστημη  URL  2008-07-26 02:27:33  No: 68788  IP: [192.*.*.*]

↓こんなのはいかがでしょ。

  std::ostringstream stream;
  std::copy(list_buf.begin(), list_buf.end(), std::ostream_iterator<std::string>(stream,"\r\n"));
  SetDlgItemText(hDlgWnd,IDC_EDIT1, stream.str().c_str());

編集 削除