in einem ordner alle dateien anzeigen



  • hallo,
    wie der titel schon sagt, will ich all dateien in einem ordner auflisten.
    ansatzweise ist mir das schon klar. geholfen hat da der thread: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39396.html
    nun, das kleine problem ist, dass es leider bei mir nicht funktioniert. bei mir kommt immer : 'FindFirstFileW' : cannot convert parameter 1 from 'const char [5]' to 'LPCWSTR'

    void findAllFiles(string cpath) {
    	WIN32_FIND_DATA wfd;
    	HANDLE fHandle = INVALID_HANDLE_VALUE;
    
    	wstring wpath = s2w(cpath);
    	cout << "> Look in: " << wpath.c_str() << endl;
    //	fHandle = FindFirstFile(wpath.c_str(), &wfd);
    	fHandle = FindFirstFile("C:\\*", &wfd);
    	if(fHandle == INVALID_HANDLE_VALUE) {
    		cout << "Error: invalid path" << endl;
    		return;
    	}
    
    	cout << "*** begin of file list ***" << endl;
    	cout << "> startpoint: " << wfd.cFileName << endl;
    	while(FindNextFile(fHandle, &wfd)) {
    		cout << "..." << endl;
    		if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
    			cout << "Directory: " << wfd.cFileName << endl;
    		} else {
    			cout << "File: " << wfd.cFileName << endl;
    		}
    	}
    	cout << "*** end of file list ***" << endl;
    	FindClose(fHandle);
    }
    

    aus debug gründen hab ich als suchverzeichnis "c:\*" angegeben.

    ps: ich hätte ja gerne in dem thread geantwortet, nur war das leider nicht möglich. warum auch immer... ich hoffe, ihr verzeiht mir, dass ich einen neuen auf mache.



  • schonma was von unicode gehört? find den rest halt selbst raus



  • ichiban schrieb:

    schonma was von unicode gehört? find den rest halt selbst raus

    mh... irgendwie nicht sehr hilfreich. von unicode hab ich schon was gehört. aber in welchem zusammenhang steht das zu meiner frage?? mein beispielcode ist an den wichtigen stellen exakt identisch....



  • nagut will mal ned so sein mach vor das "C:\*" ein L also L"C:\*"



  • ok, danke 😉


Anmelden zum Antworten