从.txt文件中获取整数
Getting an integer from .txt file
我正在尝试为一个知道程序已打开多少次的程序创建一个函数。
为此,我制作了函数,该函数将检查名为 save.txt 的文件是否存在,如果没有创建一个并将 int 1 写入其中。如果文件存在,此函数应将其递增 1。
问题是,虽然我可以将 int 1 保存到文件中,但之后我无法对文件进行更改。
这是我的代码:
#include <stdio.h>
#include <string>
#include <fstream>
#include <Windows.h>
#include <sstream>
#include <iostream>
fstream savefile("save.txt", ios::in | ios::out);
int counter;
int fileNumber;
void openFile()
{
if(!savefile)
{
cout << "File does not exist!n";
int counter = 1;
savefile.open("save.txt", ios::in | ios::out | ios::app);
savefile.clear();
savefile << counter;
cout << "Int is " << counter << endl;
savefile.close();
}
else
{
cout << "File does exist!n";
savefile.open("save.txt", ios::in | ios::out | ios::app);
savefile >> fileNumber;
savefile.clear();
savefile << fileNumber +1;
savefile.close();
}
}
我就是这样做的:
#include <iostream>
#include <fstream>
int main()
{
std::ifstream InFile;
std::ofstream OutFile;
int ExecutionCounter;
// try to read
InFile.open("SaveFile.txt");
if (!InFile)
{
// file does not exsist - means first time
ExecutionCounter = 1;
}
else
{
// else, file exists, read the current and increment it
InFile >> ExecutionCounter;
ExecutionCounter++;
InFile.close();
}
// ..
// your program tasks here
// ..
// on closing, save execution counter
std::remove("SaveFile.txt"); // remove old file
OutFile.open("SaveFile.txt"); // create new file
if (OutFile)
{
OutFile << ExecutionCounter;
}
OutFile.close();
return 0;
}
相关文章:
- 快速扫描标准以获取整数不起作用
- 只要用户输入,如何从用户那里获取整数?
- 如何从另一个类动态获取整数?
- 控制台在获取整数后暂停
- 在某些范围更新后获取整数数组的最终状态的有效算法是什么?
- 如何从从 MPU 陀螺仪发送的字节数组中获取整数
- 如何在C 中获取整数数组的元素
- 如何打破循环以在C 中获取整数数组
- 火炬C++:使用 *.data() 获取整数张量的值<int>
- 从.txt文件中获取整数
- 从C 中的系统函数中获取整数(大于255)
- 从集合中随机给定整数 0、1 和 2 时获取整数 0、1 和 2 的快速方法
- 使用boost::random库获取整数随机值而不是实数
- 从文件 C++ 获取整数
- C++从迭代器中获取整数形式的索引值
- 如何使用zmq/zeromq从传递给python的字符串表示(字节数组)中获取整数/浮点数
- 从xml中获取整数和浮点值
- 获取整数bitset中前导1位置的最快方法
- c++中无法从stringstream中获取整数
- 如何在visual studio 2013中使用c++从文本文件中获取整数