作者meto000 (阳货欲见孔子)
看板Visual_Basic
标题Re: [.NET] 用write()储存文字档会自动加引号吗?
时间Sun Apr 25 23:37:18 2010
※ 引述《jwjeng (阿吉仔)》之铭言:
: 小弟使用VB 2008来做文字档的读取和储存
: 发现储存後的文字档会自动在资料前後加引号
: 例如
: a = "你好吗?"
: b = "我很好"
: FileOpen(1, "c:\test.txt", OpenMode.Output)
: Write(1, a)
: Write(1, b)
: FileClose(1)
: 这样产生的c:\test.txt 里面放的就是
: "你好吗?","我很好",
: 若将 Write 改成 WriteLine
: 则结果就变成
: "你好吗?"
: "我很好"
: 总之他都会自动在前後加上引号
: 如果资料字串里就有引号的话
: 就会自动变成两个
: 看过说明
: 似乎是为了方便让 Input() 指令读取资料档
: 但若我输出的档案并不是要给 Input 用的
: 那要怎样把那些引号去掉呢?
: 过去VB6或更早之前的版本并没有这样的状况
: 问题是 .NET 好像已经不能使用下面这样的指令了...
: Open "c:\test.txt" For Output #1
: Print #1,a$
: Print #1,b$
: Close #1
: 不知有什麽办法可解呢?
: 还是只能事後再用别的软体把多出来的引号处理掉?
用 Write 或 WriteLine 会自动在前後加上引号
不过还好你最後列的那种 Print 指令还可以用
只是在 .Net 下要修改一下写法
将 Write(1,a) 改成 Print(1, a) 就行了
也就是类似过去那种 Print #1,a$ 的写法
如果要自动换行
就把 WriteLine(1,a) 改成 PrintLine(1, a) 就行了
或者是在字串变数 a 後面加上VbNewLine
然後用 Write(1,a) 也可以
--
「
鞑子进关後,有的旗主想占了整个中国,有的旗主却说,汉人这样多,倘若造反
起来,一百个汉人打一个旗人,旗人哪里还有性命?不如大大抢掠一番,退回关
外,稳妥得多。最後还是摄政王拿了主意,他说,一面抢掠,将金银珠宝运到关
外收藏,一面在中国做皇帝,如果汉人起来造反,情势危急,旗人便退出山海关。」
「
原来当时满清鞑子,对我们汉人实在也害怕。」
「
怎麽不怕?他们现在也怕,只不过我们不齐心而已。」 ~金庸/鹿鼎记
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.199.139
1F:推 jwjeng:感谢回答,已解决,顺便也解决资料包含逗点的读取问题 04/26 16:45
2F:→ jwjeng:原来 LineInput 也还是可以用的.... 04/26 16:45