如何在程序的每个 运行 中写入文件的下一行?
How can I write to next line of a file in each run of a program?
我有一个运行我的 C++ 程序的 python 脚本。每次通话后,我都想在文件的下一行写点东西。我可以只写入文件的第一行。我应该怎么做才能在不影响前几行的情况下写下一行?提前致谢。
C++ 端:my.cpp 将 x、y、z 作为输入。
char calc(int x,int y,int z)
{
if(x+y+z<=10) return '0';
return '1';
}
std::ofstream myfile;
myfile.open("file.txt");
myfile << calc(x,y,z) << std::endl;
myfile.close();
Python 边:
if __name__ == "__main__":
os.system("make my")
subprocess.check_output(['./my', x, y, z])
如果我对你的问题的理解正确,你可能希望将附加选项传递给 std::ofstream::open
:
myfile.open("file.txt", std::ios_base::app);
这会将您写入的任何内容附加到该文件。从python开始,你可以这样删除文件
import os
os.remove("file.txt")
这将导致编译后的可执行文件追加到新创建的文件中。
你只需要打开追加:
std::ofstream myfile;
myfile.open("file.txt", std::ios_base::out | std::ios_base::app);
我有一个运行我的 C++ 程序的 python 脚本。每次通话后,我都想在文件的下一行写点东西。我可以只写入文件的第一行。我应该怎么做才能在不影响前几行的情况下写下一行?提前致谢。
C++ 端:my.cpp 将 x、y、z 作为输入。
char calc(int x,int y,int z)
{
if(x+y+z<=10) return '0';
return '1';
}
std::ofstream myfile;
myfile.open("file.txt");
myfile << calc(x,y,z) << std::endl;
myfile.close();
Python 边:
if __name__ == "__main__":
os.system("make my")
subprocess.check_output(['./my', x, y, z])
如果我对你的问题的理解正确,你可能希望将附加选项传递给 std::ofstream::open
:
myfile.open("file.txt", std::ios_base::app);
这会将您写入的任何内容附加到该文件。从python开始,你可以这样删除文件
import os
os.remove("file.txt")
这将导致编译后的可执行文件追加到新创建的文件中。
你只需要打开追加:
std::ofstream myfile;
myfile.open("file.txt", std::ios_base::out | std::ios_base::app);