gpt4 book ai didi

c++ - 如何在用户输入值后写入 .csv 文件的下一行而不覆盖先前的值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:39:04 34 4
gpt4 key购买 nike

这是我在 stackoverflow 上的第一篇文章,所以如果我做错了什么,我深表歉意。

我正在创建这个程序,学生可以在其中刷卡并提示他们输入自己的名字。当他们完成时,程序会将所有内容写入 csv 文件。我的问题是条目被最后输入的条目覆盖。有没有办法让程序将所有条目写入 csv 文件而不被最后一个条目覆盖?

这是我用来将条目写入 csv 文件的函数。

void firstTimeDialog::on_buttonBox_clicked(QAbstractButton *button)
{
QFile studentLogIn("studentLogin.csv");
QTextStream write(&studentLogIn);

if(!studentLogIn.open(QFile::WriteOnly | QFile::Text))
{
QMessageBox::warning(this, "title", "studentLogIn.csv isn't open");
}

write << getIDNumber() << ", " << getName() << endl;
}

getIDNumber() 和getName() 函数只返回学生的id 号和学生的名字。

如果我打开 csv 文件,我希望它显示:(用逗号表示csv文件的下一个单元格)

12345678, John Doe

87654321, Frank Doe

01234556, Bob Doe

相反,它显示了最后一个条目,即

01234556, Bob Doe

最佳答案

您必须使用标志 QIODevice::Append 以便将其写入文件末尾:

if(!studentLogIn.open(QFile::WriteOnly | QFile::Text | QFile::Append))

关于c++ - 如何在用户输入值后写入 .csv 文件的下一行而不覆盖先前的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55581641/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com