当我写入我的文件时,它会清除该文件中的所有先前数据
When I write to my file it clears all the previous data in that file
我一直在浏览 Whosebug,但没有找到关于我的情况的任何以前的帖子。
我想编写的程序只是用来跟踪每日提示、工作时间和工作天数的东西。到目前为止,它打印并创建了一个 tips.txt 文件,但出于某种原因,每次我 运行 程序输入额外的数字时,它都会清除以前的条目。还有很多工作需要完成,但我想先解决这个问题。有任何想法吗?
#include <fstream>
#include <iostream>
using namespace std;
int daysWorked(int); // Caculates the number of days worked
int hoursWorked(int); // Caculates hours worked
double profit(double); // Caculates the profit year to date
int main()
{
double tip;
int hours;
int month, day;
ofstream readFile;
cout << " Enter the month and then the day, followed by hours worked, followed by money made" << endl;
if (!"tips.txt") // checks to see if tips.txt exists
{
ofstream readFile("tips.txt"); // if tips.txt doesn't exists creates a .txt
}
else
readFile.open("tips.txt" , std::ios::app && std::ios::in && std::ios::out); // if tips.txt exits just opens it?
if (cin >> month >> day >> hours >> tip) // reads in the user input
{
cout << endl;
readFile << " Date :" << month << "/" << day << " " << "Hours:" << hours << " " << "Money made: " << tip << endl; // prints out the user input
cout << endl;
readFile.close();
}
return 0;
}
删除以下代码:
// As rpattiso stated, this does not test for the existence of a file
//if (!"tips.txt") // checks to see if tips.txt exists
//{
// ofstream readFile("tips.txt"); // if tips.txt doesn't exists creates a .txt
//}
//else
仅此一项就足够了:
// This will create the file if it doesn't exist and open existing files for appending (so you don't need to test if the file exists)
ofstream readFile.open("tips.txt" , std::ios::app); // open for writing in append mode
我一直在浏览 Whosebug,但没有找到关于我的情况的任何以前的帖子。
我想编写的程序只是用来跟踪每日提示、工作时间和工作天数的东西。到目前为止,它打印并创建了一个 tips.txt 文件,但出于某种原因,每次我 运行 程序输入额外的数字时,它都会清除以前的条目。还有很多工作需要完成,但我想先解决这个问题。有任何想法吗?
#include <fstream>
#include <iostream>
using namespace std;
int daysWorked(int); // Caculates the number of days worked
int hoursWorked(int); // Caculates hours worked
double profit(double); // Caculates the profit year to date
int main()
{
double tip;
int hours;
int month, day;
ofstream readFile;
cout << " Enter the month and then the day, followed by hours worked, followed by money made" << endl;
if (!"tips.txt") // checks to see if tips.txt exists
{
ofstream readFile("tips.txt"); // if tips.txt doesn't exists creates a .txt
}
else
readFile.open("tips.txt" , std::ios::app && std::ios::in && std::ios::out); // if tips.txt exits just opens it?
if (cin >> month >> day >> hours >> tip) // reads in the user input
{
cout << endl;
readFile << " Date :" << month << "/" << day << " " << "Hours:" << hours << " " << "Money made: " << tip << endl; // prints out the user input
cout << endl;
readFile.close();
}
return 0;
}
删除以下代码:
// As rpattiso stated, this does not test for the existence of a file
//if (!"tips.txt") // checks to see if tips.txt exists
//{
// ofstream readFile("tips.txt"); // if tips.txt doesn't exists creates a .txt
//}
//else
仅此一项就足够了:
// This will create the file if it doesn't exist and open existing files for appending (so you don't need to test if the file exists)
ofstream readFile.open("tips.txt" , std::ios::app); // open for writing in append mode