Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   C++ (http://www.programmingforums.org/forum15.html)
-   -   compile problem: unix program to monitor access times (http://www.programmingforums.org/showthread.php?t=11763)

Ghosty Oct 31st, 2006 9:12 PM

compile problem: unix program to monitor access times
 
This is my code. As you can see it doesn't do much.

:

#include <iostream>
#include <string>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

using namespace std;

int main(int argc, char * argv[]){
        //check for correct number of files
        if(argc < 2){
                cout << "You must specify a file name" << endl;
                return 1;
        }
        if(argc > 11){
                cout << "Error: Too many file names specified." << endl;
                return 1;
        }

        //define structure and other variables
        struct stat {
                mode_t    st_mode;
                ino_t    st_ino;
                dev_t    st_dev;
                nlink_t  st_link;
                uid_t    st_uid;
                gid_t    st_gid;
                off_t    st_size;
                time_t    st_atime;
                time_t    st_mtime;
                time_t    st_ctime;
                blksize_t st_blksize;
                blkcnt_t  st_blocks;
        };
       
return 0;       
}


I get the following error when I try to compile:

:

lab2.cpp: In function ‘int main(int, char**)’:
lab2.cpp:30: error: expected ‘;’ before ‘.’ token
lab2.cpp:31: error: expected ‘;’ before ‘.’ token
lab2.cpp:32: error: expected ‘;’ before ‘.’ token


The structure is taken straight from my book. My guess is that I'm missing an include file somewhere. If I comment out the time_t lines, the code compiles. The program seems free of syntax errors so I'm not sure what the problem is. Any help is appreciated.

Prm753 Oct 31st, 2006 9:15 PM

#include <time.h>?

Ghosty Oct 31st, 2006 9:22 PM

I discovered that stat is already defined in stat.h. From my text I got the impression that I had to define it manually.

For time.h, I might need it eventually but I don't need it for the snippet I posted above.

Prm753 Oct 31st, 2006 9:28 PM

time_t is defined in time.h. (I think) Why would you define stat if it is already defined in <sys/stat.h>?


All times are GMT -5. The time now is 1:06 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC