gpt4 book ai didi

c++ - 将时间戳写入文件

转载 作者:行者123 更新时间:2023-11-28 02:59:26 26 4
gpt4 key购买 nike

我正在处理工资申请。该应用程序应允许用户从帐户中转账(该帐户是包含值 1000 的文本文件“shop”)。

用户应该能够在不 overdraw 帐户的情况下进行任意次数的转账。每笔交易还应通过时间戳记录在单独的文件中,这是我正在努力解决的问题。

目前我使用的代码在文件“时间”中创建了时间戳,但 1040ED48 出现在时间之前。有人知道为什么吗?此外,每次我进行交易时,“时间”文件都会被新的时间戳覆盖。有没有办法将每个时间戳放在文件中的不同行上,以阻止它被完全覆盖?抱歉,如果不清楚。

#include <limits>
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <ctime>
#include <string>


int read_balance(void);
void write_balance(int balance);

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{


cout << "How much do you wish to transfer?" << endl;


int amount = 0;

if (std::cin >> amount)
{
std::cout << "Transferred Amount:" << amount << "\n";
int balance = read_balance();

if (amount <= 0)
{
std::cout << "Amount must be positive\n";
}
else if (balance < amount)
{
std::cout << "Insufficient funds\n";
}
else
{
int new_balance = balance - amount;

write_balance(new_balance);
std::cout << "New account balance: " << new_balance << std::endl;

fstream infile;
infile.open("time.txt");


std::time_t result = std::time(nullptr);
std::string timeresult = std::ctime(&result);

infile << std::cout << timeresult << std::endl;
}

}


system("pause");
return 0;
}

int read_balance(void)
{
std::ifstream f;
f.exceptions(std::ios::failbit | std::ios::badbit);
f.open("shop.txt");
int balance;
f >> balance;
f.close();
return balance;
}

void write_balance(int balance)
{
std::ofstream f;
f.exceptions(std::ios::failbit | std::ios::badbit);
f.open("shop.txt");
f << balance;
f.close();
}

最佳答案

如果您打开一个文件进行写入,您首先要删除该文件。如果您不想删除该文件,则需要打开文件进行追加(使用app 模式。)

关于c++ - 将时间戳写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com