Datei 1.txt suchen...



  • HANDLE fHandle;
    WIN32_FIND_DATA wfd;
    
    fHandle=FindFirstFile("C:\\Fraps\\*",&wfd);
    
    	if (wfd.cFileName == "1.txt")
    			{
                MessageBox("1.txt");
    			}
    

    die erste DAtei ist 1.txt,wrum bekomme ich keine Messagebox.



  • wieso arbeitest Du nicht mit strcmp ?



  • if (wfd.cFileName == "1.txt")
    

    =>

    if (stricmp(wfd.cFileName, "1.txt") == 0)
    


  • tomycat2009 schrieb:

    die erste DAtei ist 1.txt,wrum bekomme ich keine Messagebox.

    weil du zwei pointer vergleichst und nicht zwei strings. lösung steht ja schon da^^



  • ok thx,
    ähh, wenn ich die Datei in Fraps reinkopiere oder nicht, es kommt keine Meldung 1.txt

    kann das sein,dass die erste DAtei ein -> . ist und die zwite ->.. und nach dem 3ten kommmen die Dateien,so wie bei Dosshell ?



  • HANDLE fHandle;
    WIN32_FIND_DATA wfd;
    fHandle=FindFirstFile("C:\\Fraps\\*",&wfd);
    do
    {
    
      if (stricmp(wfd.cFileName, "1.txt") == 0)
                {
                MessageBox("1.txt");
                } 
    
    }
    while (FindNextFile(fHandle,&wfd));
    FindClose(fHandle);
    

    1.Problem:hat jemand eine Idee,wenn die DAtei im Unterverzeichnis ist,dass der PC mir die mitsucht.

    2.Problem:Alle txt Dateien einblenden,geht nicht,wie finde ich heraus,was ich veränern muss?

    if (wfd.cFileName == "*.txt")
    
                {
                MessageBox(wfd.cFileName);
                }
    


  • tomycat2009 schrieb:

    hat jemand eine Idee,wenn die DAtei im Unterverzeichnis ist,dass der PC mir die mitsucht.

    bool SearchFile( DeinStringTyp directory, DeinStringTyp filename )
    {
        ... FindFirstFile( directory, ... )
    
        do {
            // Wenn gefundenes Dings ein Verzeichnis ist (und nicht "." oder ".."), darin weitersuchen
            if ( (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && strcmp(wfd.cFileName,".")!=0 && strcmp(wfd.cFileName,"..")!=0 )
                if ( SearchFile( directory + wfd.cFileName, filename ) )
                    return true;
    
            // Gefunden?
            if ( ... == filename )
                return true;
    
        } while ( ... )
        ...
    
        return false;
    }
    


  • Lösung für Problem a...

    b=0;
      c=0;
      d=0;
    for (int a=0; a<30; a++)
     {
     	if (wfd.cFileName[a] == '.')
        {
               b=a;
    		   b++;
    			if (wfd.cFileName[b] == 't')
                 {
                 c=b;
    		     c++;
    			 	if (wfd.cFileName[c] == 'x')
                    {
                    d=c;
    		        d++;
    			    	if (wfd.cFileName[d] == 't')
                        {	
                        MessageBox(wfd.cFileName);
                        } 
                    } 
                 } 
         } 
      }
    

    aller letzte Frage...
    Wenn ich einen CString habe,dann habe ich doch keine Pointer mehr oder nicht?

    MessageBox(wfd.cFileName); // geht ohne Probleme
    		       	CString dateii = wfd.cFileName; //geht ohne Probleme
    			CString komp = "c:\\" + "dateii"; //Problem !!!
                            lnkstart(komp, "txt"); // tom spezial :-)
    
    error C2110: '+' : cannot add two pointers
    

Anmelden zum Antworten