fstream怎么修改文件中的指定行

fstream如何修改文件中的指定行
想写一个通讯录,记录存在一个文件中,文件每一行代表一个联系人人的信息。通讯录有修改联系人的功能,所以想请问各位怎么把指定联系人的信息改掉呢?

------解决方案--------------------
只能定位到那行,开始覆盖数据。
或者全部读到内存,修改完写回文件,
------解决方案--------------------
C/C++ code
getline之前记录下当前文件指针偏移量offset,然后调用getline获取一行,分析其名字,
发现就是想要修改的那个人,那么seekp定位指针到offset,覆盖写入变动后的信息,然后close文件.

------解决方案--------------------
最好采用定长记录