list简单问题求助

科比布莱恩特 2011-07-06 02:55:45
list<string> m_listname;
string str;

m_listname.push_back("1");
m_listname.push_back("2");
m_listname.push_back("3");
m_listname.push_back("4");
m_listname.push_back("4");
m_listname.push_back("4");

元素已压入。现在准备赋值。我怎么遍历取出值赋给str,我遍历后m_listname的值赋值不了给str.

但是我要传入的函数参数是LPCTSTR类型的。

...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-07-06
  • 打赏
  • 举报
回复
#include <string>
#include <iostream>
#include <list>
using namespace std;
int main() {
list<string> m_listname;

m_listname.push_back("1");
m_listname.push_back("2");
m_listname.push_back("3");
m_listname.push_back("4");
m_listname.push_back("4");
m_listname.push_back("4");

string all;
list<string>::iterator i;
for (i=m_listname.begin();i!=m_listname.end();++i) {
string str=(*i);
all.append(*i);
cout << str << endl;
}
cout << all << endl;
return 0;
}
//1
//2
//3
//4
//4
//4
//123444
luciferisnotsatan 2011-07-06
  • 打赏
  • 举报
回复
LPCTSTR
这个T根据是否设置了Unicode,对应宽字符或窄字符。相当于
const wchat_t*
const char*

string是窄字符,wstring是宽字符。
至善者善之敌 2011-07-06
  • 打赏
  • 举报
回复


LPCTSTR lpIP ;
m_listname.push_back("1");
m_listname.push_back("2");
m_listname.push_back("3");
m_listname.push_back("4");
m_listname.push_back("4");
m_listname.push_back("4");
list<string> ::iterator iter = m_listname.begin();
for (; iter != m_listname.end(); iter++)
{
str+=*iter;
}
lpIP=str.c_str();
cout <<lpIP<<endl;
  • 打赏
  • 举报
回复
用迭代器遍历赋值
ryfdizuo 2011-07-06
  • 打赏
  • 举报
回复
list<string> m_listname;
string str;

for ( list<string>::iterator it = m_listname.begin();
it != m_listname.end(); ++it )
{
str = (*it); cout << str << endl;
}
可以用CString代替LPCTSTR,
c_losed 2011-07-06
  • 打赏
  • 举报
回复
你要把123444赋值给str还是要把容器里的元素赋值给str数组?

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧