从一个文件中读出,写入另一个文件,为什么文件大小不一样?

sky-defender 2009-08-26 10:18:48
很短的一段代码
Dim inChar, inLine As String
Open "C:\UnitTest.txt" For Input As #1
Open "C:\Test.txt" For Append As #2
While Not EOF(1)
Line Input #1, inChar
Print #2, inChar
Wend
Close #1
Close #2

操作完成之后,文件#2的大小只有文件#1的一半。

怎么样设置能让他们一样大?
...全文
148 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky-defender 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tiger_zhao 的回复:]
VB codeDim inLineAsString
Open"C:\UnitTest.txt"For InputAs #1
Open"C:\Test.txt"For OutputAs #2WhileNot EOF(1)
Line Input #1, inLine
Print #2, inLineWend
Close #1
¡­
[/Quote]

这个文件大小不一样
Tiger_Zhao 2009-08-26
  • 打赏
  • 举报
回复
Dim inLine As String 
Open "C:\UnitTest.txt" For Input As #1
Open "C:\Test.txt" For Output As #2
While Not EOF(1)
Line Input #1, inLine
Print #2, inLine
Wend
Close #1
Close #2
hanvan 2009-08-26
  • 打赏
  • 举报
回复
那是文本编辑器的问题,你用十六进制比较软件比较两个文件就会发现,其实是一抹一样的
sky-defender 2009-08-26
  • 打赏
  • 举报
回复
采用二进制读取,写入,文件大小倒是一样了,但是#2的文件很难看
Dim inChar As Byte
Open "C:\UnitTest.txt" For Binary As #1
Open "C:\Test.txt" For Binary As #2
While Not EOF(1)
Get #1, , inChar
Put #2, , inChar
Wend
Close #1
Close #2
文件#1
<1> __CallBackTest.cpp test start...
OK ------------------- Time: 31 ms, Condition: S_OK == m_pCosVisObject->ForceUpdate()
OK ------------------- Time: 453 ms, Condition: S_OK == m_pCosVisObject->ReleaseICF()
OK ------------------- Time: 5766 ms, Condition: S_OK == m_pCosVisObject->Initialize(bstrConfigeFileName)
OK ------------------- Time: 0 ms, Condition: S_OK == m_pCosVisObject->Invoke( method_name, &sParaSize, &pbyPara, &operation_result )

文件#2
< 1 > _ _ C a l l B a c k T e s t . c p p t e s t s t a r t . . .

O K - - - - - - - - - - - - - - - - - - - T i m e : 3 1 m s , C o n d i t i o n : S _ O K = = m _ p C o s V i s O b j e c t - > F o r c e U p d a t e ( )

O K - - - - - - - - - - - - - - - - - - - T i m e : 4 5 3 m s , C o n d i t i o n : S _ O K = = m _ p C o s V i s O b j e c t - > R e l e a s e I C F ( )

O K - - - - - - - - - - - - - - - - - - - T i m e : 5 7 6 6 m s , C o n d i t i o n : S _ O K = = m _ p C o s V i s O b j e c t - > I n i t i a l i z e ( b s t r C o n f i g e F i l e N a m e )

O K - - - - - - - - - - - - - - - - - - - T i m e : 0 m s , C o n d i t i o n : S _ O K = = m _ p C o s V i
hanvan 2009-08-26
  • 打赏
  • 举报
回复
可能你读取的文件是Unicode编码。
为了保证一抹一样,用二进制读写。。
chinaboyzyq 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 benbencoco 的回复:]
很短的一段代码
Dim inChar, inLine As String
    Open "C:\UnitTest.txt" For Input As #1
    Open "C:\Test.txt" For Append As #2
    While Not EOF(1)
        Line Input #1, inChar
        Print #2, inChar
    Wend
    Close #1
    Close #2

操作完成之后,文件#2的大小只有文件#1的一半。

怎么样设置能让他们一样大?
[/Quote]
把C:\UnitTest.txt这个文件用记事本打开,然后选择--->[另存为]-->编码选择-->ANSI,确定.
再用你的程序试试.
cqq_chen 2009-08-26
  • 打赏
  • 举报
回复
filecopy
Tiger_Zhao 2009-08-26
  • 打赏
  • 举报
回复
差多少?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧