linux lstat 移植

使用windows下的 _stat 代替linux的 lstat

// crt_stat.c  
// This program uses the _stat function to  
// report information about the file named crt_stat.c.  
  
#include   
#include   
#include   
#include   
#include   
  
int main( void )  
{  
   struct _stat buf;  
   int result;  
   char timebuf[26];  
   char* filename = "crt_stat.c";  
   errno_t err;  
  
   // Get data associated with "crt_stat.c":   
   result = _stat( filename, &buf );  
  
   // Check if statistics are valid:   
   if( result != 0 )  
   {  
      perror( "Problem getting information" );  
      switch (errno)  
      {  
         case ENOENT:  
           printf("File %s not found.\n", filename);  
           break;  
         case EINVAL:  
           printf("Invalid parameter to _stat.\n");  
           break;  
         default:  
           /* Should never be reached. */  
           printf("Unexpected error in _stat.\n");  
      }  
   }  
   else  
   {  
      // Output some of the statistics:   
      printf( "File size     : %ld\n", buf.st_size );  
      printf( "Drive         : %c:\n", buf.st_dev + 'A' );  
      err = ctime_s(timebuf, 26, &buf.st_mtime);  
      if (err)  
      {  
         printf("Invalid arguments to ctime_s.");  
         exit(1);  
      }  
      printf( "Time modified : %s", timebuf );  
   }  
}  


参考:

https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx

https://stackoverflow.com/questions/12085761/what-is-lstat-alternative-in-windows

http://blog.csdn.net/mociml/article/details/4710007

http://blog.csdn.net/edonlii/article/details/21093111

http://blog.csdn.net/qq_21792169/article/details/50454475



另外github上有对微软库函数的扩展,增加了一些linux下函数的实现

https://github.com/JFLarvoire/SysToolsLib

你可能感兴趣的:(软件,VS,移植,windows,linux)