我有一个配置文件,应该有\r\n 行结束样式,我想在我的程序中包含代码来检查和更正格式。 现有代码:
int convert_line_endings(FILE *fp)
{
char c = 0, lastc = 0, cnt = 0;
while((c = fgetc(fp)) != EOF)
{
if((c == '\n') && (lastc != '\r'))
{
cnt++;
//somehow "insert" a '\r' in here, after the previous char and before the '\n'
}
lastc = c;
}
return cnt;
}
在 C 编程中,您无法“插入”字符(或者可以吗?!),只需覆盖其中一个即可。有什么建议吗?
最佳答案
不,您无法删除或插入。您可以做的是通过复制除 \r\n
序列之外的所有内容来写入新的临时文件,然后用它覆盖原始文件。
关于创建convert_line_endings函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095181/