C ++:并非所有值都写入.txt文件

时间:2016-03-15 15:29:23

标签: c++

我的程序中有一个用C ++编写的错误。它处理两个.txt文件。从一个(word.txt)导入值,并且必须过滤并将它们添加到另一个文件中 - text3.txt。

在txt文件word.txt中有以下条目:

if (thePlayer.position.y >= -216) {
    runningAnimation = false
    //be specific sprite
} else if (!runningAnimation) {
    runningAnimation = true
    //be specific animation
}

点«B«ENDL;应该将word.txt文本文件添加到具有特定顺序的text.txt文本文件中。首先是每个人都有“人”,然后每个人都有“狗”(“猫”不需要添加)。

目前,只有最后一个被添加到文件中,所有“狗”条目。

你能帮我理解问题出在哪里吗?

Dora cat 7
John human 28
Bark dog 12
Steven human 56
Rex dog 15

谢谢。

1 个答案:

答案 0 :(得分:0)

在两个调用中使用相同的输出文件。所以以前的所有人类记录都被狗的记录所取代。打开文件时使用std::ios::app以便在结尾处追加。

#include <fstream>

std::ofstream out;

// std::ios::app is the open mode "append" meaning
// new data will be written to the end of the file.
out.open("myfile.txt", std::ios::app);

std::string str = "I am here.";
out << str;

建议:您应该使用C ++提供的机制,例如std::string,并避免使用全局变量和指针。另外,清楚地命名变量。通过这样做,您可以至少将代码简化10倍。

此外,并非所有人都懂俄语,因此请更改提交的代码,以便每个人都能理解 chelovek human