📄 subject_57616.htm
字号:
<p>
序号:57616 发表者:论坛小新 发表日期:2003-10-27 11:31:41
<br>主题:[求助]如何找出符合条件的字符串?
<br>内容:一个文本文件data.txt的内容如下:<BR>PAINT/COLOR,4<BR>FEDRAT/MMPM,2000.0000<BR>GOTO/44.4379,16.4428,33.3396<BR>GOTO/42.9387,13.9178,0.0000<BR>PAINT/COLOR,3<BR>我想读入文件内容,进行逐行判断,如果此行以"GOTO/"开始,就将它输出到另外一个文件data_out.txt中,请问怎么操作?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:论坛小新 回复日期:2003-10-27 11:33:12
<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>
回复者:LuckGood 回复日期:2003-10-27 12:44:38
<br>内容:你可以将文本文件的内容全部读出到内存中,然后通过形如strstr的字串方法查找"GOTO/"及"\r\n"。代码还是自己实现的好。
<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-10-27 12:56:23
<br>内容:<BLOCKQUOTE>引用“第2楼”所言<BR><Q>你可以将文本文件的内容全部读出到内存中,然后通过形如strstr的字串方法查找"GOTO/"及"\r\n"。代码还是自己实现的好。</Q></BLOCKQUOTE><BR>第一步我通过fgets()函数可以实现{char str[256] ;<BR>fgets ( str , 255, pFile )};问题是第二步(判断此行是否含有GOTO/)如何实现?以及如何输出到另外一个文件中去?<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>回复者:golen 回复日期:2003-10-27 13:15:45
<br>内容: char str1[1000];<BR> memset(str1,0,sizeof(str1));<BR> CFile file;<BR> file.Open("data.txt",CFile::modeRead);<BR> file.Read(str1,sizeof(str1)); <BR> CString str2=str1;<BR> int j=-1;<BR> char out1[1000];<BR> memset(out1,0,sizeof(out1));<BR> for(int i=0;i<str2.GetLength();i++)<BR> {<BR> j=str2.Find("GOTO/",i);<BR> if(j>=0)<BR> {<BR> int j1=str2.Find(13,j); <BR> char out2[100];<BR> memset(out2,0,sizeof(out2));<BR> CString s1=str2.Mid(j,j1-j);<BR> strcpy(out2,s1); <BR> strcat(out1,out2);<BR> sprintf(out1,"%s%c%c",out1,13,10);<BR> i=j;<BR> } <BR> }<BR> file.Close(); <BR> CString sss=out1;<BR> char in1[1000]; <BR> memset(in1,0,sizeof(in1));<BR> sprintf(in1,"%s",sss);<BR> file.Open("in1.txt",CFile::modeWrite|CFile::modeCreate);<BR> file.Write(in1,sizeof(in1));<BR> file.Close(); <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>
回复者:论坛小新 回复日期:2003-10-27 13:44:48
<br>内容:谢谢golensoft!<BR>还有没有其他更好的方法!<BR>最好用C语言!<BR>2003-10-27 13:46:28
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -