Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Lấy danh sách file trong folder với Visual C++?

  1. #1
    Ngày gia nhập
    10 2008
    Bài viết
    21

    Wink Lấy danh sách file trong folder với Visual C++?

    -Mình tra MSDN tìm thầy 2 hàm FindFirstFile và FindNextFile dể lấy danh sách file có trong folder, nhưng khi run chuong trình mình nhập duong dẫn path = argv[1] = "e:\test" , trong o E mình kiểm tra có thư mục test. Nhưng khi run xong nó in ra màn hình : invalid folder error. Các bạn giúp mình. code mẫu lấy trong MSDN.

    C++ Code:
    1. #define _WIN32_WINNT 0x0501
    2.  
    3. #include <windows.h>
    4. #include <string.h>
    5. #include <stdio.h>
    6.  
    7. int main(int argc, char *argv[])
    8. {
    9.     WIN32_FIND_DATA FindFileData;
    10.     HANDLE hFind = INVALID_HANDLE_VALUE;
    11.     char DirSpec[MAX_PATH]; // directory specification
    12.     DWORD dwError;
    13.  
    14.     printf ("Target directory is %s.\n", argv[1]);
    15.     strncpy (DirSpec, argv[1], strlen(argv[1])+1);
    16.     strncat (DirSpec, "\\*", 3);
    17.  
    18.     hFind = FindFirstFile(DirSpec, &FindFileData);
    19.  
    20.     if (hFind == INVALID_HANDLE_VALUE)
    21.     {
    22.         printf ("Invalid file handle. Error is %u\n", GetLastError());
    23.         return (-1);
    24.     }
    25.     else
    26.     {
    27.         printf ("First file name is %s\n", FindFileData.cFileName);
    28.         while (FindNextFile(hFind, &FindFileData) != 0)
    29.         {
    30.             printf ("Next file name is %s\n", FindFileData.cFileName);
    31.         }
    32.  
    33.         dwError = GetLastError();
    34.         FindClose(hFind);
    35.         if (dwError != ERROR_NO_MORE_FILES)
    36.         {
    37.             printf ("FindNextFile error. Error is %u\n", dwError);
    38.             return (-1);
    39.         }
    40.     }
    41.  
    42.     return (0);
    43. }
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 01-05-2009 lúc 10:19 AM. Lý do: Đưa code vào tag

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình chạy thấy đúng mà. Bạn nhập đường dẫn như thế nào vậy ?
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    10 2008
    Nơi ở
    sài gòn
    Bài viết
    422

    sửa hộ nè
    Code:
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include <strsafe.h>
    #include <malloc.h>
    
    #define BUFSIZE MAX_PATH
    int main(int argc, char *argv[])
    {
    	WIN32_FIND_DATA FindFileData;
    	HANDLE hFind = INVALID_HANDLE_VALUE;
    	DWORD dwError;
    	TCHAR szDirSpec[MAX_PATH];
    	size_t length_of_arg;
    	//szDirSpec = (TCHAR *) malloc (BUFSIZE);
    	TCHAR szPath[MAX_PATH];
    	lstrcpy(szPath,_T("C:\\Users\\sdfsd\\Desktop\\hj"));
    	StringCbLength(szPath, BUFSIZE, &length_of_arg);
    	if (length_of_arg > (BUFSIZE - 2))
    	{
    		printf("Input directory is too large.\n");
    		return 3;
    	}
    	printf ("Target directory is %s.\n", szPath);
    	StringCbCopyN (szDirSpec, BUFSIZE, szPath, length_of_arg+1);
    	StringCbCatN (szDirSpec, BUFSIZE, _T("\\*"), 3);
    	// Find the first file in the directory.
    	hFind = FindFirstFile(szDirSpec, &FindFileData);
    	if (hFind == INVALID_HANDLE_VALUE) 
    	{
    		printf ("Invalid file handle. Error is %u.\n", GetLastError());
    		return (-1);
    	} 
    	else 
    	{
    		printf ("First file name is %s.\n", FindFileData.cFileName);
    		while (FindNextFile(hFind, &FindFileData) != 0) 
    		{
    			printf ("Next file name is %s.\n", FindFileData.cFileName);
    		}
    		dwError = GetLastError();
    		FindClose(hFind);
    		if (dwError != ERROR_NO_MORE_FILES) 
    		{
    			printf ("FindNextFile error. Error is %u.\n", dwError);
    			return (-1);
    		}
    	}
    	free(szDirSpec);
    	return (0);
    }
    cố gắng

Các đề tài tương tự

  1. Liệt kê danh sách các file trong cùng folder với file đang chạy ?
    Gửi bởi phucduan trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 05-10-2012, 09:03 AM
  2. Tự động cập nhật danh sách Folder trong C# khi Folder bị xoá trong Window Explorer
    Gửi bởi nganthuvinhbiet trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 22-09-2011, 07:51 PM
  3. Cách kiểm tra trong 1 folder có chứa 1 file hay folder khác hay không ?
    Gửi bởi nguyenkhanhminh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 23-05-2011, 11:00 AM
  4. Algorithm Cách lấy danh sách các file trong 1 folder và subfolder
    Gửi bởi Riku trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 18-05-2011, 03:08 PM
  5. làm thế nào để move 1 folder trong Visual C++?
    Gửi bởi hoangtung225 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 11-12-2010, 05:25 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn