【发布时间】:2021-08-13 11:32:03
【问题描述】:
假设我有一个正在阅读的文件是这样的:
#character posX posY //commentary line: explains what it represents
CharacterName1 50.0 0.0
CharacterName2 32.0 50.0
这里的目标是能够读取 posX et posY 并将它们在我的 C++ 程序中转换为 2 个双变量 x 和 y。
目前,我所能做的就是开始阅读文件,看看该行对应的是空行还是注释行。 然后,如果阅读行找到相应的字符名称,我应该能够继续阅读这一行以获得 posX 和 posY,但我不知道如何做到这一点。我不知道如何跳过空格以及如何开始阅读数字以及如何完成阅读然后将其转换为双精度。
知道我应该怎么做吗?
我真的希望这已经足够清楚了。
提前谢谢你。
尝试示例
void loadMap(std::string const& filepath) {
std::ifstream infile(filepath.c_str());
if(infile.fail()) {
std::cerr << "Error... " << std::endl;
} else { /opening occured correctly
while ( !infile.eof() ) {
std::string line;
std::getline(infile, line);
if ( (line[0] != '#') or (line.empty()) ) { //if line not comment or not empty
if( line.find("CharacterName1") ) {.......
那我迷路了。
【问题讨论】:
-
这能回答你的问题吗? Read Numeric Data from a Text File in C++
-
我在发帖前看到了这个问题,但我不太明白提出的答案。
-
你能告诉我们你的尝试吗?
-
@PalLaden,我用一个例子编辑了我的问题,我希望它能解决问题