Ich habe ein Verzeichnis, dass, wenn ich einen Befehl ls laufen, ich weiß, dass es spuckt so einen Fehler wie out:cpp popen erhält ls Fehler
ls: reading directory /mydir: Input/output error
ich erkennen können, will, dass es eine war IO-Fehler in meinem Code.
Das ist, was ich versucht habe:
void readLs(const std::string& name)
{
stringstream ss;
ss << "ls " << name;
FILE* apipe = popen(ss.str().c_str(), "r");
if(apipe == NULL)
{
cout << "Error opening popen" << endl;
return;
}
char line[256];
cout << __FILE__ << " " << __LINE__ << endl; //This is line 46
while ( fgets(line, 256 , apipe))
{
string temp(line);
cout << "This is line: " << temp << endl;
memset(line, 0, 256);
}
cout << __FILE__ << " " << __LINE__ << endl; //This is line 53
pclose(apipe);
}
test.cpp 46
ls: reading directory /mydir: Input/output error
test.cpp 53
Die Fehlermeldung druckt auf den Bildschirm, aber ich habe nicht die Fehlermeldung erhalten, wenn sie aus dem Rohr zu lesen.
Danke,
Perfekt! Vielen Dank, @antlersoft – georges