2012-03-31 8 views
0

Ich habe versucht, Code in C++ zu schreiben, der alle Systemdateien durchläuft. Das Problem war, dass es einige Dateien gibt, die einen Fehler (2) zurückgeben, was bedeutet, dass keine solche Datei gefunden wurde. Obwohl der Pfad gefunden wurde, aber nicht geöffnet werden konnte oder den Zeiger auf diese Datei oder diesen Ordner abrufen konnte!C++ hat keine vorhandene Datei geöffnet

dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->find_data); 
if (dirp->search_handle == INVALID_HANDLE_VALUE) 
{ 
    cout << "Error(" << errno << ") opening " << dir<<" erroeno:"<<strerror(errno)<< endl<<endl; 
} 

Das Problem wird nicht durch einen Mangel an Administratorberechtigungen verursacht, da ich ein Administrator auf meinem Computer bin. Was könnte dieses Problem verursachen?

Antwort

1

Es gibt noch andere Gründe, die Sie Berechtigungen fehlen könnten

  • Sie versuchen werden, um ein Verzeichnis von einem anderen Benutzer auf Ihrer Domain im Besitz zu durchqueren. Als Administrator erhalten Sie nicht automatisch Zugriff auf alle Dateien auf einem Computer.
  • Was Sie weitergeben, könnte nur einen trivialen Fehler haben. Beispielsweise haben Sie möglicherweise "C: \ temp" übergeben, ohne Ihren Backslash ordnungsgemäß zu entfernen, und stattdessen ein Tab-Zeichen erhalten.

würde ich mehr Informationen darüber, was speziell vorbei Sie, oder auf msdn lesen, vielleicht

+0

den als Parameter gesendet Pfad absolut korrekt, weil es von einem anderen Verfahren kommt die Pfade aus dem System zu lesen., und ruft automatisch den oben genannten Code, und für die Dateien im Besitz anderer Benutzer, gibt es keinen anderen Benutzer auf meinem Gerät., es ist nur der admin., vielen Dank im Voraus – sana

+0

Kannst du es einfach nur den einzelnen Pfad aufrufen, dass scheitert? Können Sie im Explorer zu genau diesem Pfad navigieren? Können Sie die Datei im Editor öffnen? Hoffentlich bietet die Überprüfung einer dieser Informationen zusätzliche Informationen, die Ihnen helfen, Ihr Problem zu finden. – fcrick

+0

das ist, was ich nicht verstanden habe, dass einige von ihnen sind nicht sichtbar für mich, so kann ich nicht navigieren sie im explorer, und der andere Teil sie sind sichtbar, ich kann sie erreichen, aber wenn ich doppelklicke auf den "Ordner" eine Pop-Nachricht reden : Sie haben nicht curently Berechtigungen für diesen Ordner zugreifen, und fordert mich auf, klicken Sie auf contine, um eine permanente Berechtigung zum Zugriff auf diesen Ordner., – sana

Verwandte Themen