3
A
回答
9
有關POSIX平臺,你可以使用這樣的單字節編碼(處理省略錯誤):
FILE *file = fopen("filename", "a");
fseek(file, -10, SEEK_END);
ftruncate(fileno(file), ftell(file)); // POSIX function
它是不會與可變長度的字符編碼工作,如UTF-8和UTF-16。
3
的東西,會在Windows下工作,以及你可以做這樣的事情:
FILE* pFileIn = fopen("filenameIn", "rb");
FILE* pFileOut = fopen("filenameOut", "w+b");
fseek(pFileIn, -10, SEEK_END);
long length = ftell(pFile);
long blockSize = 16384;
void* pBlock = malloc(blockSize);
long dataLeft = length;
while(dataLeft > 0)
{
long toCopy = (dataLeft > blockSize) ? blockSize : dataLeft;
fread(pBlock, toCopy, 1, pFileIn);
fwrite(pBlock, toCopy, 1, pFileOut);
dataLef -= toCopy;
}
free(pBlock);
fclose(pFileIn);
fclose(pFileOut);
相關問題
- 1. Python - 刪除文本文件中的最後一個字符
- 2. 刪除文本文件中每行的最後兩個字符
- 3. 刪除文件的最後10個字符
- 4. 如何從文本字段中刪除最後一個字符?
- 5. 從文本文件中刪除最後2個字符:shell腳本
- 6. 從文本框在C#中刪除最後一個字符
- 7. 如何從文本框中刪除最後一個字符?
- 8. AppleScript:刪除文本字符串中的最後一個字符
- 9. 刪除文件夾中文件名的最後一個字符
- 10. 蝙蝠文件刪除文件中的最後一個字符?
- 11. powershell從文件名中刪除最後3個字符
- 12. 從txt文件中刪除最後一個字符
- 13. 從每個文本文件中刪除最後一個空行
- 14. 從java中的文本文件中刪除某個字符
- 15. 刪除元素文本中的最後一個字符
- 16. C#刪除文本框中的最後兩個字符
- 17. 如何刪除文本中的最後一個字符?
- 18. 從linux文件中刪除^ @個字符
- 19. 從文件讀取刪除文檔中最後一個字符串的最後一個字母?
- 20. 從文本文件中刪除%符號
- 21. 從文本文件中刪除多個字符使用C
- 22. 從文本文件中刪除字符串Android - 文件IO
- 23. 使用python刪除文件中的最後4個字符
- 24. 從文本文件中刪除最後一行
- 25. 從文件中刪除最後N個字節
- 26. Bash:刪除除最後10個日誌文件以外的所有文件
- 27. 刪除文本框綁定的最後一個字符
- 28. awk或sed刪除字符前文件中的文本然後字符後
- 29. 從按鈕點擊文本框中刪除最後一個字符
- 30. 刪除文本文件中的最後一個管道
有什麼文件編碼? – 2009-08-13 09:55:09
如何處理不只一種文件編碼的解決方案?我肯定會贊成這樣的答案! :-) – 2009-08-13 11:12:12
@Alceu。在純粹的C90?由setlocale()開始,打開一個臨時文件,讀取緩衝區。使用mblen()知道哪些字節是一個字符的一部分。將字符複製到除最後十個之外的臨時文件。重新填充緩衝區並重復,不要忘記輸出前一個緩衝區的最後十個字符。然後將臨時文件的內容複製到原始文件的內容。可能但很乏味。在C95中,只需使用getwc()和putwc()來獲得更明顯的解決方案。 – AProgrammer 2009-08-13 12:40:54