看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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