我有一个配置文件,该文件应该具有\ 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
序列以外的所有内容写入新的临时文件,然后用其覆盖原始文件。
关于c - 创建convert_line_endings函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13095181/