我在Linux上有一个c++98
脚本,在其中我从特定路径读取了用户的文件。
如果文件是在Linux操作系统上编写的,则每行的末尾将是换行符LF。
而如果文件是在Windows上编写的,它将以CR LF结尾。 (回车和换行)
我的问题是,当文件是在Windows中编写并在linux中进行编辑时,有时如果光标位于该行的开头并输入了退格键,则只会留下CR,而CR不会被识别为新的CR读取文件时的行。我正在使用ifstream
通过谎言读取文件行
在Linux上写的文件
在Windows上写的文件
从Windows迁移到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或对如何处理此类问题有任何想法?