⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_32799.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:32799 发表者:apple_caro 发表日期:2003-03-14 20:44:35
<br>主题:用instream inFile,&nbsp;&nbsp; 请问怎样在C++中重读input file ?
<br>内容:程序要多次重读一个input file.<BR>怎样读啊?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2003-03-14 21:57:04
<br>内容:inFile.clear();<BR>inFile.seekg( 0, ios_base::beg );<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:apple_caro 回复日期:2003-03-14 22:12:50
<br>内容:a.txt 每行的第一个数字是这行后面还有的数字的个数。如:5 1 2 3 4 5<BR><BR>ifstream inFile;<BR>inFile.open("a.txt");<BR><BR>if(!inFile)<BR>&nbsp;&nbsp;cout&lt;&lt;"error "&lt;&lt;endl;<BR><BR>int sz, itemI;<BR>while(inFile &gt;&gt; ws &amp;&amp; !inFile.eof())<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inFile&gt;&gt;sz;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int* a = new int[sz];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i&lt;sz; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inFile&gt;&gt;itemI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a[i] = itemI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR> }<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;inFile.seekg(0, ios::beg);&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;inFile.clear(); <BR><BR>while(inFile &gt;&gt; ws &amp;&amp; !inFile.eof())<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inFile&gt;&gt;sz;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int* a = new int[sz];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i&lt;sz; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inFile&gt;&gt;itemI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a[i] = itemI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR> }<BR><BR> inFile.seekg(0, ios::beg);&nbsp;&nbsp; <BR> inFile.clear(); <BR><BR><BR>while(inFile &gt;&gt; ws &amp;&amp; !inFile.eof())<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inFile&gt;&gt;sz;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int* a = new int[sz];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i&lt;sz; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inFile&gt;&gt;itemI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a[i] = itemI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR> }<BR><BR>当a.txt 只有600k 时, 第2个while 可以成功被执行<BR>当a.txt 有 4mb时, 第2个while 好像更本就不能被执行, 但是第3各file却可以被执行<BR>这可能是什么原因啊?<BR>谢谢<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2003-03-14 22:25:44
<br>内容:这两句顺序错了:<BR>inFile.seekg(0, ios::beg);&nbsp;&nbsp; <BR>inFile.clear(); <BR>应该是:<BR>inFile.clear(); <BR>inFile.seekg(0, ios::beg);&nbsp;&nbsp; <BR><BR>既第二个循环之前的inFile.seekg(0, ios::beg); 没起作用<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:apple_caro 回复日期:2003-03-14 23:21:48
<br>内容:哦,对的<BR>改过以后问题就解决了。<BR>谢谢<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -