toosimple 发表于 2005-10-23 20:33:00

vb求助 ,关于文件读写

<P>有一个文本文件,里面有若干行数据,每行的数据个数不定,每个数据用空格分开,两个数据之间的空格个数不定(至少为一个空格),文件如下所示:</P>
<P>源文件</P>
<P>1.5&nbsp; 2.6&nbsp; 30 2.3 12 0.3&nbsp; 20&nbsp;&nbsp; 0.9</P>
<P>10&nbsp; 0.3&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp; 0.9</P>
<P>我想把这个源文件的内容读出,然后写入另一个目标文件,在目标文件的每一行开头加上这行的数据个数,目标文件如下:</P>
<P>目标文件</P>
<P>8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.5&nbsp; 2.6&nbsp; 30 2.3 12 0.3&nbsp; 20&nbsp;&nbsp; 0.9</P>
<P>4&nbsp;&nbsp;&nbsp;10&nbsp; 0.3&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp; 0.9</P>
<P>请各位高手帮忙啊,谢谢了先</P>
<P>&nbsp; </P>

wyj7485 发表于 2005-10-24 09:35:00

<P>文件操作:</P>
<P>Dim MyVar</P>
<P>Open&nbsp;"文件名称(包含路径)" For Input As #1<BR>Do While Not EOF(1)<BR>Input #1, MyStr</P>
<P>...................</P>
<P>Loop<BR>Close 1#</P>
<P>这是一个我写的分离含有不等空格字段程序,可以参考:</P>
<P>Function SplitSpace(MainStr As String, Pos As Integer) As String '分离含有不等空格字段程序<BR>Dim L, i, j, n, k<BR>Dim StrVal(0 To 10000) As Variant<BR>Dim MyStr As String<BR>n = 1: j = 0: i = 0<BR>MyStr = " "</P>
<P><BR>L = Len(MainStr)<BR>While i &lt; L<BR>k = InStr(n, MainStr, " ")<BR>If k = 0 Then k = L + 1<BR>MyStr = Mid(MainStr, n, k - n)<BR>n = InStr(n, MainStr, " ")</P>
<P>If MyStr = "" Then<BR>n = n + 1<BR>i = i + 1<BR>Else<BR>j = j + 1<BR>i = i + Len(MyStr)<BR>StrVal(j) = MyStr<BR>End If</P>
<P>Wend</P>
<P>SplitSpace = StrVal(Pos)<BR>End Function</P>

tjdxtm 发表于 2005-10-24 22:13:00

用Split,用空格分开,查看分开后的数组个数,就是你要添加的“数据个数”,然后在重新写文件,保存。很简单的。
页: [1]
查看完整版本: vb求助 ,关于文件读写