我有一个txt文件,我保存按此顺序排列的信息:
Name somename
Age someAge
Address someAddress
...
我通过以下元素查找此信息:
if (myfile.is_open())
{
while (myfile >> element1)
{
myfile >> element2;
if (element1 == "Name")
_name = element2; //element2 is someName in .txt file
if (element1 == "Age")
_age = element2; //element2 is someAge in .txt file
...
}
myfile.close();
}
依旧......
也可以使用ofstream以这种方式编辑txt文件吗?
答案 0 :(得分:2)
"也可以使用
ofstream
以这种方式编辑txt文件?"
是的,这是可能的。只是不能立即操纵文件内容(正如您可能正在考虑的那样)。
std::ifstream
逐行读入文件std::vector<std::string>
变量std::string
函数来操作这些行std::ofstream
相同的文件(使用std::iosbase::trunc
标志打开)std::vector<std::string>
变量写入输出文件作为@Jerry Coffin mentioned,您可以考虑在第一位创建操纵文件的备份。如果你这样做,你也可以利用操作单个记录,而无需读入完整的文件(可能导致内存问题,如果它真的很大)。