我有一个运行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])
答案 0 :(得分:2)
如果我正确理解了您的问题,则可能希望将其他选项传递给std::ofstream::open
:
myfile.open("file.txt", std::ios_base::app);
这会将您写入的所有内容附加到该文件。在python中,您可以像这样删除文件
import os
os.remove("file.txt")
这将导致编译后的可执行文件追加到新创建的文件中。
答案 1 :(得分:1)
您只需要打开即可进行添加:
std::ofstream myfile;
myfile.open("file.txt", std::ios_base::out | std::ios_base::app);