我有一个配置文件,该文件应该具有\ 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/

10-14 18:40
查看更多