A very simple c++ question.

I Need some easy functions.

1. void create_file()
// This function shall just crate a file. The name of the file shall be the date when I'ts created.

2. void write_to_file(string var1, string var2, double number)

This file shall add things to the file crated abow (in 1.)
I like the file to look like this:

XXX var1 var2 number
XXX var1 var2 number
.....................
.....................
XXX var1 var2 number

Where XXX is the time when the function is called
LVL 2
wqclatreAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
anichiniConnect With a Mentor Commented:
#include <time.h>
#include <string>
#include <fstream>
#include <strstream>
using namespace std;

ofstream g_file;

void create_file()
{
    time_t ltime;
    struct tm *today;    
    strstream file;    
 
    time(&ltime);
    today = localtime(&ltime);
    file << today->tm_mon << "-" << today->tm_yday << "-" << (today->tm_year+1900);

    g_file.open(file.str();
}

void write_to_file(string var1, string var2, double num)
{
  if(g_file.is_open())
  {
      time_t ltime;
      struct tm *today;
     
      time(&ltime);
      today = localtime(&ltime);    

      g_file << today->tm_hour << ":" << today->tm_min << ":"
             << today->tm_sec << " " << var1 << " " << var2
             << " " << number << endl;
}

}
0
 
wqclatreAuthor Commented:
I'll mark youre answer an A: Exellent, just a moment....

Could you please tell me what the row "using namespace std" are doing?
0
 
wqclatreAuthor Commented:
Some more thing. My compiler say that the files strstream and fstream don't exist. (I'm running Linux and compile with g++)
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
anichiniCommented:
1) namespaces are a way to cut down on the clutter of function, data, and type names in C++. The standard C++ library uses the std namespace. the line using namespace std; just tells the compiler to add all of those symbols to the global namespace

2) ah, I was assuming Microsoft VC++. Use <fstream.h> and <stdstream.h> instead

0
 
wqclatreAuthor Commented:
If I add a .h to fstream and strstream I get those errors:
(A also added a ")" at row gfile.open(file.str(); )

logg.cc:5: warning: namespaces are mostly broken in this version of g++
logg.cc: In function `void write_to_file(class basic_string<char,string_char_traits<char> >, class basic_string<char,string_char_traits<char> >, double)':
logg.cc:29: `number' undeclared (first use this function)
logg.cc:29: (Each undeclared identifier is reported only once
logg.cc:29: for each function it appears in.)

0
 
wqclatreAuthor Commented:
I find the error my self. Thanks...
0
 
wqclatreAuthor Commented:
I find the error my self. Thanks...
0
 
wqclatreAuthor Commented:
Can I somehow change so the file is date.txt instead of the date ??? (add .txt at the end of the filename...
0
 
anichiniCommented:
file << today->tm_mon << "-" << today->tm_yday << "-" <<
                       (today->tm_year+1900) << ".txt";

that's all.
 
0
All Courses

From novice to tech pro — start learning today.