#include <bits/stdc++.h>
using namespace std;
int main(int count, char* argv[])
{
if(count!=2)
{
// print_syntax(argv[0]);
}
else if(count==2)
{
string file_name=argv[1];
// cout<<file_name<<endl;
string file_directory="~/.local/share/Trash/info/"+file_name+".trashinfo";
cout<<file_directory<<endl;
ifstream myReadFile;
myReadFile.open(file_directory);
char output[100];
if (myReadFile.is_open())
{
cout<<"here";
while (!myReadFile.eof())
{
myReadFile >> output;
cout<<output;
}
}
else
{
cout<<"Not working";
}
myReadFile.close();
}
}
Ich versuche, eine Datei aus dem Papierkorb zu lesen, die weiter zwei Unterordner hat, die Informationen einer Meta-Daten für gelöschte Datei mit einer Erweiterung von .trashinfoLesen Sie eine trash-Datei von C++
Aber aufgrund einiger enthalten Grund, ich kann diese Datei in diesem Programm nicht öffnen.
[email protected]:~/projects/Linux-Commands/Restore# ./a.out hero
~/.local/share/Trash/info/hero.trashinfo
Not working
[email protected]:~/projects/Linux-Commands/Restore# vi ~/.local/share/Trash/info/hero.trashinfo
Mit diesem vi-Befehl kann ich es einfach im Terminal öffnen und sogar bearbeiten.
'~' wird durch Shell erweitert und funktioniert nicht, wenn Sie es aus einem C++ - Programm tun. Bitte überprüfen Sie https://stackoverflow.com/questions/2910377/get-home-directory-in-linux-c – Kane
~ kann nicht verwendet werden, um in diesem Kontext auf private Directorie des Benutzers verweisen. –
Stimmt, dass ich heute etwas Neues gelernt habe. Vielen Dank. –