- 论坛徽章:
- 0
|
本帖最后由 Sniper_Killer 于 2013-03-04 17:25 编辑
前提:
当前程序所在位置的上一级目录包括:day02_25 day02_26 day02_27 day02_28 day03_01 day03_04
以上均为目录
程序源码:- #include "day.h"
- int main( int argc, char* argv[ ] )
- {
- int iRet = 0;
- if( argc != 2 )
- {
- printf( "one less\n" );
- return -1;
- }
- iRet = mydir( argv[1] );
- if( iRet == -1 )
- {
- printf( "Call dir function ERROR\n" );
- return -1;
- }
- return 0;
- }
- int mydir( char* in )
- {
- int iRet = 0;
- DIR* dp = NULL;
- struct dirent* psd = NULL;
- struct stat ss;
- memset( &ss, 0, sizeof( struct stat ) );
- dp = opendir( in );
- if( dp == NULL )
- {
- perror( "opendir" );
- return -1;
- }
- rewinddir( dp );
- while( ( psd = readdir( dp ) ) != NULL )
- {
- /***
- printf( "NAME : %s\n", psd->d_name );
- ***/
- iRet = lstat( psd->d_name, &ss );
- /***
- if( iRet == -1 )
- {
- perror( "lstat" );
- return -1;
- }
- ***/
- if( S_ISDIR( ss.st_mode ) )
- {
- strcat( psd->d_name, "/" );
- }
- printf( "%s\n", psd->d_name );
- }
- return 0;
- }
复制代码 没添加注释编译连接之后:./a.out ..
出现的错误时这样的:
NAME : day02_28
lstat: No such file or directory
Call dir function ERROR
这是什么情况呢?没有错误判断,就是架上注释之后,结果是这样的:
day02_28
day02_26
day03_04
day03_01
../
./
day02_25/
day02_27/
请大家指教一下!
|
|