在Linux文件上处理回车和换行

我在Linux上有一个c++98脚本,在其中我从特定路径读取了用户的文件。 如果文件是在Linux操作系统上编写的,则每行的末尾将是换行符LF。 而如果文件是在Windows上编写的,它将以CR LF结尾。 (回车和换行)

我的问题是,当文件是在Windows中编写并在linux中进行编辑时,有时如果光标位于该行的开头并输入了退格键,则只会留下CR,而CR不会被识别为新的CR读取文件时的行。我正在使用ifstream通过谎言读取文件行

在Linux上写的文件

在Linux文件上处理回车和换行

在Windows上写的文件

在Linux文件上处理回车和换行

从Windows迁移到Linux时的文件冲突

在Linux文件上处理回车和换行

bool ConfigParser::loadFile(const std::string filePath)
{
    std::ifstream fio;          // Config file descriptor

    fio.open(filePath.c_str());
    if (fio.is_open())
    {
        int lineNumber = 0;
        std::string line;
        while(std::getline(fio,line))
        {
            lineNumber++;
        }
        fio.close();
    }
}

在读取文件之前是否有办法替换所有CR或对如何处理此类问题有任何想法?

hualushui1129 回答:在Linux文件上处理回车和换行

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3167820.html

大家都在问