stringstream不能输入空格_vs2005

chenguangxing3 2013-12-12 11:29:31
vs2005
当字符串带空格时,stringstream就在空格处截断了,上网查了一下,试了下面两种方法都不灵,一种是ss1.unsetf(std::ios::skipws);, 一种是ss2 >> std::noskipws >> str;
哪位知道还有更好的方法吗?

std::string str;
std::stringstream ss1;
ss1.unsetf(std::ios::skipws);
ss1 << "111 222";
ss1 >> str;
AfxMessageBox( str.c_str() );

std::stringstream ss2;
ss2 << std::noskipws << "aaa bbb";
ss2 >> std::noskipws >> str;
AfxMessageBox( str.c_str() );

有个老贴,跟我情况一样: http://bbs.csdn.net/topics/300197237 不过没答案
...全文
667 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mujiok2003 2013-12-12
  • 打赏
  • 举报
回复
试试看:
#include <sstream>
#include <string>
#include <iterator>
#include <iostream>

int main()
{
  std::string str;
  std::istringstream ss1("111 222"); 
  ss1.unsetf(std::ios::skipws); 
  std::istream_iterator<char> start(ss1), end;
  str.assign(start,end);
  std::cout << str << std::endl;
  return 0;
}
derekrose 2013-12-12
  • 打赏
  • 举报
回复
std::getline(ss1, str); 或者 str = ss1.str();
mujiok2003 2013-12-12
  • 打赏
  • 举报
回复
template<class _Elem,
	class _Traits,
	class _Alloc> inline
	basic_istream<_Elem, _Traits>& operator>>(
		basic_istream<_Elem, _Traits>&& _Istr,
		basic_string<_Elem, _Traits, _Alloc>& _Str)
	{	// extract a string
	typedef ctype<_Elem> _Ctype;
	typedef basic_istream<_Elem, _Traits> _Myis;
	typedef basic_string<_Elem, _Traits, _Alloc> _Mystr;
	typedef typename _Mystr::size_type _Mysizt;

	ios_base::iostate _State = ios_base::goodbit;
	bool _Changed = false;
	const typename _Myis::sentry _Ok(_Istr); //这里也会跳过空格哦

	if (_Ok)
		{	// state okay, extract characters
		const _Ctype& _Ctype_fac = _USE(_Istr.getloc(), _Ctype);
		_Str.erase();

		_TRY_IO_BEGIN
		_Mysizt _Size = 0 < _Istr.width()
			&& (_Mysizt)_Istr.width() < _Str.max_size()
				? (_Mysizt)_Istr.width() : _Str.max_size();
		typename _Traits::int_type _Meta = _Istr.rdbuf()->sgetc();

		for (; 0 < _Size; --_Size, _Meta = _Istr.rdbuf()->snextc())
			if(_Traits::eq_int_type(_Traits::eof(), _Meta))
				{	// end of file, quit
				_State |= ios_base::eofbit;
				break;
				}
                       //跳过whitespace,noskipws对其不管用
			else if (_Ctype_fac.is(_Ctype::space,
				_Traits::to_char_type(_Meta)))
				break;	// whitespace, quit
			else
				{	// add character to string
				_Str.append(1, _Traits::to_char_type(_Meta));
				_Changed = true;
				}
		_CATCH_IO_(_Istr)
		}

	_Istr.width(0);
	if (!_Changed)
		_State |= ios_base::failbit;
	_Istr.setstate(_State);
	return (_Istr);
	}
  • 打赏
  • 举报
回复
如果要取出所有字符,使用
std::string str = ss1.str()
如果自定义分隔符,使用
char separator;//自己的分隔符
while(std::getline(ss1, str, separator))
{
//do something
}
qq120848369 2013-12-12
  • 打赏
  • 举报
回复
他就是用来按空白符分词的,没有其他能力。
内容概要:本文围绕基于深度强化学习DQN构建充电汽车的能量模型展开研究,旨在通过DQN算法优化电动汽车的储能系统能量管理与存储容量配置。研究利用Matlab实现算法仿真,构建了能够适应复杂用电环境和动态负荷变化的能量调度模型,有效解决了充电行为不确定性、电网负荷波动及用户用电成本之间的平衡问题。通过引入强化学习机制,模型具备自学习和自优化能力,能够在长期运行中不断调整策略,提升能源利用效率并降低运营成本。研究不仅涵盖了算法设计与模型搭建,还包括仿真验证与性能分析,展示了DQN在智能交通与能源耦合系统中的实际应用潜力。; 适合人群:具备一定机器学习与电力系统基础知识,从事智能电网、电动汽车、能源优化等相关领域研究的科研人员及工程技术人员,尤其适合研究生及以上层次的学习者。; 使用场景及目标:①应用于电动汽车充电站的能量管理系统,实现削峰填谷与负荷均衡;②服务于智能电网中用户侧能源的优化调度,提升可再生能源消纳能力;③作为深度强化学习在能源领域落地的典型案例,支撑相关课题研究与项目开发; 阅读建议:建议读者结合Matlab代码进行实践操作,重点关注状态空间、动作空间与奖励函数的设计逻辑,深入理解DQN算法在能量调度决策中的映射机制,并可通过修改参数或引入其他强化学习算法(如Double DQN、Dueling DQN)进一步拓展研究深度。
内容概要:本文深入解析了Vibe Coding这一新兴开发范式,即开发者通过自然语言描述系统行为的“感觉”或“氛围”,由AI自动生成高质量、可执行的代码。文章以一个基于Python和aio-pika实现的异步任务消费者为例,展示了AI在构建复杂分布式系统时的强大能力,涵盖连接容错、优先级队列、指数退避重试、消息重发机制及优雅关闭等生产级特性。代码生成过程体现出对高并发、状态管理与系统鲁棒性的深刻理解,反映了大语言模型在语义化编程、动态上下文理解和自修正循环方面的成熟应用。; 适合人群:具备一定编程基础,熟悉异步编程与消息队列,工作1-3年的后端或全栈研发人员;对AI辅助开发感兴趣的技术实践者。; 使用场景及目标:①快速构建具备生产级质量的分布式系统模块;②提升在高并发、容错处理、资源管理等复杂场景下的开发效率与代码可靠性;③探索AI在代码生成、测试验证和系统优化中的协同潜力。; 阅读建议:此资源强调“迭代式提示”与“意图驱动开发”,建议读者结合实际项目尝试用自然语言描述需求,引导AI生成骨架代码并逐步精细化,同时关注生成代码的健壮性与架构合理性,培养人机协作的新一代开发思维。
内容概要:本文围绕天空图像与光伏发电预测展开研究,利用Python编程语言实现相关算法与模型构建。通过采集和分析天空图像,提取云层覆盖、光照强度等关键气象特征,结合机器学习或深度学习模型,建立从视觉信息到光伏发电功率的映射关系,从而提升光伏发电系统的短期与超短期预测精度。文中涵盖了数据预处理、特征提取、模型训练与验证的完整流程,并可能引入如卷积神经网络(CNN)、长短期记忆网络(LSTM)或注意力机制等先进模型以捕捉时空相关性,最终实现对光伏出力波动的有效预测,为电网调度与能源管理提供技术支持。; 适合人群:具备一定Python编程基础和机器学习背景,从事新能源、电力系统、气象预测等相关领域的科研人员及工程技术人员,尤其适合研究生及以上层次的学习者。; 使用场景及目标:① 提升光伏电站发电功率预测的准确性,支撑电网稳定运行;② 探索天空视觉信息在可再生能源预测中的应用价值;③ 为智能微网、能源互联网等场景下的源荷预测提供技术参考。; 阅读建议:建议读者结合实际数据集动手复现代码,重点关注图像特征提取与时间序列预测模型的融合方法,同时可拓展引入更多先进的深度学习架构以进一步优化预测性能。

65,209

社区成员

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

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