我有一个包含 itemId、itemName、价格的文本文件
项目信息.txt
1,samsung galaxy 4,1000
2,levis pants,100
3,jacket,100
我想要做的是,如果用户想要将夹克的价格从 100 更改为 50,程序将检测夹克的 ID(在本例中为第 3 行)并更改夹克的价格。或者,如果用户想要将“levis pants”更改为“tshirt”,它将检测 id(在本例中为第 2 行)并更改其名称。
我知道如何逐行读取文件。但我不知道在逐行读取文件并获得我想要的输出后我应该做什么。请指教。谢谢
所以有两种方法可以做到这一点:
- 用新的值覆盖当前文件,这意味着读入所有数据,然后以相同的格式写回,这是最简单的方法,只需使用 ofstream 将相同的数据写出
- 在 ofstream 库中使用流指针,查看 this资源(提示:seekp、tellp 和 write),这将“移动”到文件中的一个点,然后从该点直接写出,这是一种更复杂但更有效的方法。
#1 的例子:
int rowCount = 0;
// read in file here and count the number of rows in the text file.
ofstream output;
output.open("itemInfo.txt", ofstream::out);
for (int i = 0; i < rowCount; i++) //
output << itemId[i] << "," << itemName[i] << "," << price[i] << endl;
#2 示例:
我不能被打扰