读取文本文件的任何头文件与平台无关

Any header file to read text files platform-independent?

本文关键字:文件 平台 任何头 取文本 读取      更新时间:2023-10-16

使用c++编写跨平台项目,必须以非常简单的格式读取输入文件:

MESSAGE_NAME "Message text"
ANOTHER_GOOD_MESSAGE "This is another message"

我想知道是否有人有或知道一个库(头文件)来处理可能是Windows格式或Linux格式的输入。

#include <fstream>怎么了?

当然,可以想象Windows的实现会失败识别Unix的行尾(但我还没有见过不识别的),或者Unix实现在额外的'r' —my方面存在问题通常的解决方案是以二进制模式读取文件,并删除任何文件手动'r'。(我读了Line类,这是重载的operator>>调用getline,然后删除任何尾随的'r')

最适合你需要的两个头文件是:

#include <fstream>

#include <cstdio>
一般首选

<fstream>。如果,正如您的评论所指出的,<fstream>不可用,那么<cstdio>应该提供一个有用的替代方案。

具体来说,您需要考虑fopen()fscanf()