无法使用 fstream 更新文本文件中的文本
Cannot update the text in text file using fstream
我正在尝试减小存储在文本文件中的数字的值,如下所示:
fstream countfile;
countfile.open("adminsongcount.txt");
countfile >> songcount;
songcount--;
countfile << songcount;
countfile.close();
显然,计数应该减少 1,比如从 4 减少到 3,但事实并非如此。在打开 adminsongcount 时.txt我仍然得到 4 的值。我在这里错过了什么?
如果adminsongcount.txt最初由单个字符组成'4'
,运行此代码后它将有两个字符:'4'
后跟'3'
。如果您重复相同的读取,您将再次获得'4'
。
要解决此问题,代码应在写入之前查找文件的开头:
countfile.seekp(0);
这会将放置指针(因此名称末尾的"p"(设置为文件的开头。
相关文章:
- 文本文件中的单词链表
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何在c++中从文本文件中逐行读取整数
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 如何在C++中确定文本文件中的元素是字符还是数字
- C++试图读取一个文件并输出到另一个文本文件
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 已修改的LinkedList未在文本文件本身中更新
- C++文本文件的获取线
- 为什么C++的文件 I/O 在读取文本文件时忽略初始空行?我怎样才能让它不这样做?
- 打印逐行存储的文本文件
- C++文本文件输入