0

我有一个应该具有 \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 编程中,你不能“插入”一个字符(或者你可以吗?!),只是覆盖一个或另一个。有什么建议么?

4

1 回答 1

0

不,您不能删除或插入。您可以做的是通过复制除\r\n序列之外的所有内容来写入新的临时文件,然后用它覆盖原始文件。

于 2012-10-26T22:21:03.017 回答