こんにちは。
フォルダ内のフォルダ、ファイル一覧を、配列に格納するにはどうすれば良いんですか?
その際、サイズ、更新日時も取得したいです。
C言語の文法(ポインタ等)は理解したつもりですが、やりたいことが全然出来ず困っています。
参考になる本等あれば教えてください。
よろしくおねがいします。
情報取得の方法について
Re:情報取得の方法について
nonさま有難うございます。
ただ、実際に動かそうと思って、サンプルを実行してみたところ
main.cpp(14) : error C2065: 'intptr_t' : 定義されていない識別子です。
main.cpp(14) : error C2146: 構文エラー : ';' が、識別子 'hFile' の前に必要です。
main.cpp(14) : error C2065: 'hFile' : 定義されていない識別子です。
main.cpp(30) : error C2065: 'ctime_s' : 定義されていない識別子です。
main.cpp(30) : error C2065: '_countof' : 定義されていない識別子です。
main.cpp(36) : fatal error C1004: 予期せぬ EOF が検出されました。
サンプル自体を動かせないていれべるなので、もう少しアドバイスいただけますか?
環境はWindows XP SP3のVC++6.0です。
ただ、実際に動かそうと思って、サンプルを実行してみたところ
main.cpp(14) : error C2065: 'intptr_t' : 定義されていない識別子です。
main.cpp(14) : error C2146: 構文エラー : ';' が、識別子 'hFile' の前に必要です。
main.cpp(14) : error C2065: 'hFile' : 定義されていない識別子です。
main.cpp(30) : error C2065: 'ctime_s' : 定義されていない識別子です。
main.cpp(30) : error C2065: '_countof' : 定義されていない識別子です。
main.cpp(36) : fatal error C1004: 予期せぬ EOF が検出されました。
サンプル自体を動かせないていれべるなので、もう少しアドバイスいただけますか?
環境はWindows XP SP3のVC++6.0です。
// crt_find.c // This program uses the 32-bit _find functions to print // a list of all files (and their attributes) with a .C extension // in the current directory. #include <stdio.h> #include <stdlib.h> #include <io.h> #include <time.h> int main( void ) { struct _finddata_t c_file; intptr_t hFile; // Find first .c file in current directory if( (hFile = _findfirst( "*.c", &c_file )) == -1L ) printf( "No *.c files in current directory!\n" ); else { printf( "Listing of .c files\n\n" ); printf( "RDO HID SYS ARC FILE DATE %25c SIZE\n", ' ' ); printf( "--- --- --- --- ---- ---- %25c ----\n", ' ' ); do { char buffer[30]; printf( ( c_file.attrib & _A_RDONLY ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_HIDDEN ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_SYSTEM ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_ARCH ) ? " Y " : " N " ); ctime_s( buffer, _countof(buffer), &c_file.time_write ); printf( " %-12s %.24s %9ld\n", c_file.name, buffer, c_file.size ); } while( _findnext( hFile, &c_file ) == 0 ); _findclose( hFile ); }
Re:情報取得の方法について
#include <stdio.h> #include <stdlib.h> #include <io.h> #include <time.h> int main( void ) { struct _finddata_t c_file; long hFile; // Find first .c file in current directory if( (hFile = _findfirst( "*.c", &c_file )) == -1L ) printf( "No *.c files in current directory!\n" ); else { printf( "Listing of .c files\n\n" ); printf( "RDO HID SYS ARC FILE DATE %25c SIZE\n", ' ' ); printf( "--- --- --- --- ---- ---- %25c ----\n", ' ' ); do { char buffer[30]; printf( ( c_file.attrib & _A_RDONLY ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_HIDDEN ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_SYSTEM ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_ARCH ) ? " Y " : " N " ); printf( " %-12s %.24s %9ld\n", c_file.name, ctime( &( c_file.time_write ) ),c_file.size ); } while( _findnext( hFile, &c_file ) == 0 ); _findclose( hFile ); } }