Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

A very simple c++ question.

Posted on 1997-12-04
9
Medium Priority
?
236 Views
Last Modified: 2010-04-10
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
0
Comment
Question by:wqclatre
  • 6
  • 3
9 Comments
 
LVL 2

Accepted Solution

by:
anichini earned 600 total points
ID: 1174792
#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
 
LVL 2

Author Comment

by:wqclatre
ID: 1174793
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
 
LVL 2

Author Comment

by:wqclatre
ID: 1174794
Some more thing. My compiler say that the files strstream and fstream don't exist. (I'm running Linux and compile with g++)
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 2

Expert Comment

by:anichini
ID: 1174795
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
 
LVL 2

Author Comment

by:wqclatre
ID: 1174796
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
 
LVL 2

Author Comment

by:wqclatre
ID: 1174797
I find the error my self. Thanks...
0
 
LVL 2

Author Comment

by:wqclatre
ID: 1174798
I find the error my self. Thanks...
0
 
LVL 2

Author Comment

by:wqclatre
ID: 1174799
Can I somehow change so the file is date.txt instead of the date ??? (add .txt at the end of the filename...
0
 
LVL 2

Expert Comment

by:anichini
ID: 1174800
file << today->tm_mon << "-" << today->tm_yday << "-" <<
                       (today->tm_year+1900) << ".txt";

that's all.
 
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

783 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question