0
寫一個文本文件
我Ada中打開一個文本文件,用下面的代碼:換行,而在阿達
Open (File => out_parcial_variante1, Name => "c.txt", Mode => append_file);
put(File => out_parcial_variante1, Item=> "r");
close(out_parcial_variante1);
文件像這裏面的結構:
01 #510.00:1003.00,512.04:1110.00,515.00:998.00,-98.00,-100.00
<second empty line, this text is not in the file>
注意的是,除了光標的第一行在第二行,沒有寫入任何內容。
每當我的代碼文件中寫道,這種情況發生:
01 #510.00:1003.00,512.04:1110.00,515.00:998.00,-98.00,-100.00
r
它創建另一個新行,而不是附加上這樣的二號線:
01 #510.00:1003.00,512.04:1110.00,515.00:998.00,-98.00,-100.00
r
我該如何解決這個問題?
編輯:這是一個指針的問題,因爲我讀完整行之前,但我嘗試關閉並再次打開文件,指針仍然在第二行而不是回到開始。
我不知道「這是一個指針問題」是什麼意思?什麼操作系統?什麼編譯器?您是否已在打開添加的文件之前驗證過它不會以兩個連續的EOL(LF,CF/LF或CR)結束? –
指針問題我的意思是說,我在做一個get_line之前閱讀文件的整行並創建一個新行,將光標留在第二行的開頭,我不想要的東西,我希望它去文件的開始(由於某種原因關閉和打開文件並不能解決這個問題)。是的,我驗證了EOL的文件。 – user697110
來自Ada 2012 LRM,A.10.2:'如果模式是Append_File,則實現定義頁面終止符是否將文件中的預先存在的文本與要寫入的新文本分開。「我猜這就是這裏發生的事情。 – flyx