C++ 编辑文本文件中行中的特定单词

c++ edit specific word from line in textfile

本文关键字:单词 文本 文件 C++ 编辑      更新时间:2023-10-16

我有一个文本文件,其中包含itemId,itemName,价格

项目信息.txt

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

我想做的是,如果用户想将夹克的价格从 100 更改为 50,程序将检测夹克的 ID(在本例中为第 3 行)并更改夹克的价格。 或者,如果用户想要将"李维斯裤子"更改为"T恤",它将检测ID(在本例中为第2行)并更改其名称。

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

因此,

您可以通过两种方式执行此操作:

  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 的例子: 我不能被打扰