[英]What is substitute character and how to process it in windows
我從aix獲得一個文本文件,並嘗試在Windows上處理它
但有些行包含奇怪的字符 ,在ultraedit中,它顯示為
當fgets函數遇到該行時,它會引發一個錯誤並停止繪制。 然后它拒絕繼續,即使我強行在遇到線后再次運行fgets。
角色的六角代碼是1A
ASCII表中對此字符的解釋是替換字符,用於替換設備上無法表示的字符。
這意味着什么
謝謝!
有幾個問題。
如果使用fopen
和"r"
模式,文件將以文本模式打開,然后ASCII字符0x1b將被解釋為文件結束字符。 此外,如果您的文件來自aix,那么行結尾肯定是“\\ n”(0x10)而不是Windows上的“\\ r \\ n”(0x13 0x10),並且fgets
僅將“\\ r \\ n”作為行結尾進行識別。
你需要通過使用fgetc
函數逐個字符地讀取文件來實現自己的fgets
函數,並且必須使用"rb"
模式而不是"r"
模式來fopen
aix文件。
你的新的fgets
類似的功能應該是不超過5條或6線長。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.