0

我有一个文本文件,其中包含 itemId、itemName、price

项目信息.txt

1,samsung galaxy 4,1000
2,levis pants,100
3,jacket,100

我想要做的是,如果用户想将夹克的价格从 100 更改为 50,程序将检测夹克的 id(在本例中为第 3 行)并更改夹克的价格。或者如果用户想要将“levispants”更改为“tshirt”,它将检测到 id(在本例中为第 2 行)并更改它的名称。

我知道如何逐行读取文件。但我不知道在逐行读取文件并实现我想要的输出后我应该做什么。请指教。谢谢

4

1 回答 1

1

所以有两种方法可以做到这一点:

  1. 用新值覆盖当前文件,这意味着读入所有数据,然后以相同的格式写回,这是最简单的方法,只需使用 ofstream 写出相同的数据
  2. 使用 ofstream 库中的流指针,检查这个资源(提示: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 示例:我不会被打扰

于 2013-10-15T06:17:40.420 回答