3
A
回答
7
您可以使用ftell
它不給你的行和列的條款的位置,但給從一開始就流中的當前位置。
5
文件中沒有「座標」,只有一個位置。一個文本文件只是一個字節流,而且行之間用換行符分隔。所以,在閱讀文本文件時,如果掃描整個文件,則可以計算出「座標」。這意味着,如果您確實需要某些「行」和「列」值:
- 逐行讀取文件。計算換行符,並獲得「行」編號。請注意,在不同的操作系統上有不同的換行符 - UNIX的行結尾與Windows不同。
- 逐字讀出問題所在的行,並將字符計數到有問題的位置。這會得到你的「列」號碼。你顯然需要接受「列」的數量可以「行」之間變化,這是完全可能有「行」與0
「列數」不同的方法將
- 逐行讀取文件並構建換行符的位置數組(使用
ftell
)。 - 現在來計算任何字符的位置,只是在文件中獲得它的位置,然後找到最近的前一個換行符。從換行符到您獲得「行」的字符,從換行符的位置和當前位置之間的差異可以得到「列」。
但最重要的是接受文件中沒有行或列 - 文件中有一個位置,但文件本身只是一個字節流。這也意味着你需要處理以寬字符集編碼的文件,因爲字符不再映射到一個字節。
相關問題
- 1. C#獲取每個光標位置
- 2. 獲取光標位置
- 3. SWT獲取光標位置
- 4. 如何獲取TextInput中的光標位置和光標位置後的內容?
- 5. 在mailItem中獲取光標位置htmlbody
- 6. 在AngularJs中獲取Textarea光標位置
- 7. 如何獲取當前文本部件的光標位置
- 8. 在編輯文本中獲取Android中的光標位置?
- 9. 獲取光標位置或光標所在行的行數TinyMCE
- 10. 獲取位置文本框中光標的
- 11. 獲取當前鍵盤光標位置
- 12. LWJGL 3獲取光標位置
- 13. 獲取光標位置Android鍵盤
- 14. 在鍵上獲取光標位置
- 15. 獲取CONTENTEDITABLE DIV光標位置
- 16. JavaFX 2 set /獲取光標位置
- 17. contenteditable div獲取光標位置
- 18. 獲取webrowser控件中當前光標位置的鏈接ID
- 19. 獲取鼠標光標位置的windows組件名稱
- 20. 如何獲取光標位置並在C#.NET中寫入該位置?
- 21. C++檢查光標位置
- 22. 通過光標/光標位置獲取當前語句
- 23. C#自定義控件光標位置
- 24. 是否可以在文檔加載事件中獲取鼠標光標的位置/位置? (在JavaScript中)
- 25. 在記事本++插件中獲取當前光標位置
- 26. 獲取CKEditor中光標位置的父標籤4
- 27. 獲取文件的位置,如C++
- 28. 在Swift中獲取和設置UITextField和UITextView的光標位置
- 29. 獲取文本框光標位置(文本之前或之後)
- 30. 獲取從文本文本光標位置.NET
如果不是,就在讀取之前 – asdf 2009-12-25 09:42:02