作者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
推 jwjeng:感謝回答,已解決,順便也解決資料包含逗點的讀取問題 04/26 16:45
→ jwjeng:原來 LineInput 也還是可以用的.... 04/26 16:45