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プログラミングでは、charを「挿入」することはできません(またはできますか?!)。どちらか一方を上書きするだけです。助言がありますか?

4

1 に答える 1

0

いいえ、削除または挿入することはできません。\r\nシーケンス以外のすべてをコピーして新しい一時ファイルに書き込み、元のファイルを上書きすることができます。

于 2012-10-26T22:21:03.017 に答える