📄 subject_35441.htm
字号:
<p>
序号:35441 发表者:萧一郎 发表日期:2003-04-06 22:16:58
<br>主题:我在读取文本文件的数据时,为什么隔一行读一行
<br>内容:所用代码如下:<BR> FILE* fp = _tfopen(lpszPathName, _T("r+t"));<BR> int nLine = 0;<BR> double dValue[1024][4];<BR> if (fp != NULL)<BR> {<BR> <BR> char szLine[1024];<BR> memset(szLine, 0, sizeof(szLine));<BR> char szFormat[1024];<BR> memset(szFormat, 0, sizeof(szFormat));<BR> <BR> CString str;<BR> //InputIndex(fp);<BR> int j=0;<BR> for(int i=0;i<4;i++)//4组数据<BR> {<BR> if ((fscanf(fp, "%[^.]", szFormat)) != EOF)//扫描并格式化来自流的输入<BR> {<BR> fgetc(fp);//从流中读取字符<BR> // Reads in '.' character and moves file<BR> str = szFormat;<BR> str += ".";<BR> if ((fscanf(fp, "%[^ ]", szFormat)) != EOF)<BR> {<BR> fgetc(fp); // Reads in ' ' character and moves file<BR> str += szFormat;<BR> str.TrimLeft();// remove whitespace starting from left edge<BR> str.TrimRight();// remove whitespace starting from right edge<BR> <BR> <BR> _stscanf(str, _T("%lf"), &dValue[j][i]);//扫描并格式化一输入串<BR> // Get value.<BR> }<BR> }<BR> }<BR> int k=1;<BR> while ((fscanf(fp, "%[^\n]", szLine)) != EOF)<BR> {<BR> fgetc(fp); // Reads in '\n' character and moves file<BR> <BR> //InputIndex(fp);<BR> for(int i=0;i<4;i++)//4组数据<BR> {<BR> if ((fscanf(fp, "%[^.]", szFormat)) != EOF)//扫描并格式化来自流的输入<BR> {<BR> fgetc(fp);//从流中读取字符<BR> // Reads in '.' character and moves file<BR> str = szFormat;<BR> str += ".";<BR> if ((fscanf(fp, "%[^ ]", szFormat)) != EOF)<BR> {<BR> fgetc(fp); // Reads in ' ' character and moves file<BR> str += szFormat;<BR> str.TrimLeft();// remove whitespace starting from left edge<BR> str.TrimRight();// remove whitespace starting from right edge<BR><BR> <BR> _stscanf(str, _T("%lf"), &dValue[k][i]);//扫描并格式化一输入串<BR> // Get value.<BR> }<BR> }<BR> }<BR><BR> nLine ++;<BR> k++;<BR> memset(szLine, 0, sizeof(szLine)); <BR> }<BR> fclose(fp);<BR> }<BR> CClientDC dc(this);<BR> OnPrepareDC(&dc);<BR> char aa[1024];<BR> char sl[128];<BR> sprintf(sl,"%d",nLine);<BR> MessageBox(sl);<BR> for(int m=0;m<nLine;m++)<BR> {<BR> sprintf(aa,"%d,%lf,%lf,%lf,%lf\n",m,dValue[m][0],dValue[m][1],dValue[m][2],dValue[m][3]);<BR> dc.TextOut(0,16*m,aa);<BR> }
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:萧一郎 回复日期:2003-04-10 17:51:52
<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>
回复者:林建华 回复日期:2003-04-10 18:31:30
<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>回复者:iceflower 回复日期:2003-04-10 19:02:04
<br>内容:FILE *fp;<BR>fp = fopen("your.txt","r");<BR>int xd;<BR>int nData[1000];<BR>for(int i=0;xd != EOF;i++)<BR>{<BR>xd = fscanf(fp,"%f",nData+i);<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>
回复者:萧一郎 回复日期:2003-04-13 16:55:34
<br>内容:xd != EOF<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>
回复者:iceflower 回复日期:2003-04-13 22:09:21
<br>内容:EOF是文件的末尾的数据位置
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧一郎 回复日期:2003-04-14 11:51:26
<br>内容:EOF是文件的末尾的数据位置<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>
回复者:iceflower 回复日期:2003-04-14 18:26:35
<br>内容:xd为当前文件位置。<BR>作为判断的意思是如果xd(当前文件位置)为文件末尾,则停止读,否则接着读。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧一郎 回复日期:2003-04-16 20:01:59
<br>内容:That's great!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xujin 回复日期:2003-04-16 23:13:27
<br>内容:想问下,花啊的程序中xd = fscanf(fp,"%f",nData+i);是不是应为<BR>xd = fscanf(fp,"%f",nData[i]);<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 + -