文字列のコピーについて


ようた  2008-07-26 02:18:34  No: 68786

エディットボックスに文字列を貼り付けることをしたいのですが、
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-26 03:15:35  No: 68787

こういうことですか?

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 11:27:33  No: 68788

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

  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());


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加