任何头文件读取文本文件独立于平台?

时间:2011-12-09 15:02:16

标签: c++ file-io cross-platform

使用C ++处理跨平台项目,该项目必须以非常简单的格式读取输入文件:

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

...

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

2 个答案:

答案 0 :(得分:2)

#include <fstream>出了什么问题?

当然,可以想象Windows实现无法实现 识别Unix行结尾(但我还没有看到没有的行),或者 一个Unix实现有额外'\r'的问题 - 我的 通常的解决方案是以二进制模式读取文件,并删除任何文件 '\r'手工制作。 (为此,我读了一个类Line,它超载了 operator>>要调用getline,然后移除任何尾随的'\r'。)

答案 1 :(得分:0)

最适合您需求的两个头文件是:

#include <fstream>

#include <cstdio>

<fstream>通常是首选。如果您的评论指出<fstream>不可用,则<cstdio>应提供有用的替代方案。

具体而言,您需要考虑fopen()fscanf()