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