c++-为什么把istringstream移到循环之外就不对了呢

问题描述

为什么把istringstream移到循环之外就不对了呢

为什么移到循环之外以后就只能输出第一行字符串的字符了 后面两行输出的都是空白 求大神帮忙

解决方案

放在循环里面,每次读取会移动文件指针读取下一个,放在外面的话,istringstream会每次初始化,并且指针指向开头,所以读取的是第一行。

解决方案二:

你在里面定义相当于每次循环都重新构造了一个istringstream对象啊, 放在外面相当于for循环是全局的, 反正里面相当于是局部的, 每次循环都会被析够然后第二次循环重新构造

时间: 2024-08-03 01:55:26

c++-为什么把istringstream移到循环之外就不对了呢的相关文章

C# 2.0 Specification(匿名方法)(一)

21匿名方法21.1.匿名方法表达式匿名方法表达式(anonymous-method-expression)定义了匿名方法(anonymous method),它将计算为引用该方法的一个具体值. l primary-no-array-creation-expression(基本非数组创建表达式:)-anonymous-method-expression(匿名方法表达式) l anonymous-method-expression:delegate anonymous-method-signatu

C#中使用反射的性能分析

性能 最近在研究一个可配置系统的框架,在代码中大量使用了反射的方法,虽然借鉴到其他的语言,如java中反射性能都比较差,但是想到c#既然是一种强类型的语言,对于AppDomain中的类的调用应该性能不会差很多.今天在mvp站点上看到有人说反射的性能很差,要避免使用,就写了一个简单的例子测试了一下测试类如下:namespace ReflectionTest.Test{ public class CTester { public CTester() { a = 10; } public void t

《编程珠玑(续)(修订版)》—第1章1.1节计算素数

第1章 性能监视工具 编程珠玑(续)(修订版) 听诊器是一种简单工具,却给医生的工作带来了革命:它让内科医生能有效地监控病人的身体.性能监视工具(profiler)对程序起着同样的作用. 你现在用什么工具来研究程序?复杂的分析系统很多,既有交互式调试器,又有程序动画系统.正如CT扫描仪永远代替不了听诊器一样,复杂的软件也永远代替不了程序员用来监控程序的最简单工具--性能监视工具,我们用它了解程序各部分的执行频率. 本章先用两种性能监视工具来加速一个小程序(记住真正的目的是说明性能监视工具).后续

纳闷的EF异常:在提供程序连接上启动事务时出错

问题描述 代码很简单,遍历,修改,保存foreach(SportTeamstindbContext.SportTeams){st.HomeCity="123";dbContext.SaveChanges();} 但执行到dbContext.SaveChanges();的时候会报异常:在提供程序连接上启动事务时出错.有关详细信息,请参阅内部异常求大神指点,谢谢 解决方案 解决方案二:dbContext.SaveChanges();过后,dbcontext会发生改变,是不能继续遍历的解决方

swift语言实战晋级-第9章 游戏实战-跑酷熊猫-9-10 移除平台与视差滚动

原文:swift语言实战晋级-第9章 游戏实战-跑酷熊猫-9-10 移除平台与视差滚动 9.9 移除场景之外的平台       用为平台是源源不断的产生的,如果不注意销毁,平台就将越积越多,虽然在游戏场景中看不到.几十个还看不出问题,那几万个呢?几百万个呢?     所以我们来看看怎么移除平台,那什么样的平台需要移除呢?又如何移除呢?之前我们也说过,当平台完全移除游戏场景的时候就可以进行移除操作了.需要做两个操作,1从平台工厂类中移除,2从平台数组中移除. 而且,因为平台是一个接一个出现的,所以

sql-Sql 插入冗余数据,除了游标之外,还有其他办法吗

问题描述 Sql 插入冗余数据,除了游标之外,还有其他办法吗 在报表中,遇到这样一个问题,需要将一些数据生成冗余的,让人手动填表. Part Count Field1 Field2 A 2 B 3 生成 Part Field1 Field2 A A B B B 除了用游标循环之外,还有其他的办法吗?

【内存泄露】循环多次创建ResultSet,Connection后,如何全部关闭疑问???

问题描述 Connectionconn=null;Resultsetrs=null;try{for(inti=0;i<100;i++){conn=getConnection();rs=stmt.executeQuery(sql);............//rs.close();//conn.close();}}catch(Exceptionex){............}finally{if(null!=rs){rs.close();rs=null;}if(null!=conn){conn.

javascript for循环设法提高性能_javascript技巧

一般在javascript里对数组进行遍历一般是使用for循环,像下面一样 复制代码 代码如下: var arr = []; for(var i=0; i<arr.length; i++){ //loop } 这种代码最大的问题,就在于每次循环时都要通过 .操作符获取 .length,增加了开销.那么我们可以这样改进. 复制代码 代码如下: var arr = []; for(var i=0, n=arr.length; i<n; i++){ //loop } 这样子,先把 arr.lengt

C# while与for 循环语句区别

c# while与for 循环语句区别 while 语句执行一个语句或语句块,直到指定的表达式计算为 false. // statements_while.cs using system; class whiletest {     static void main()     {         int n = 1;         while (n < 6)         {             console.writeline("current value of n is {