Ich habe den folgenden Code ein, den ich mit GCC 4.8, die eine gute Praxis ist Zugriffsfunktion zu verwenden
Dieser arbeitet mit VS 2013
if (_access(trigger->c_str(), 0) != -1)
{
...
}
Ich weiß auch auf Linux arbeiten will, dass auf Linux Ich kann Funktion verwenden: Zugriff von "unistd.h"
Gibt es eine Möglichkeit zu vermeiden, etwas wie folgt (eine elegantere Lösung) zu haben?
#ifdef __linux__
#include <unistd.h>
#endif
#ifdef __linux__
if (access(trigger->c_str(), 0) != -1)
{
...
}
#else
if (_access(trigger->c_str(), 0) != -1)
{
...
}
#endif
Interessanterweise betrachtet [MSDN "Zugriff" als veraltet] (https://msdn.microsoft.com/en-us/library/ms235395.aspx). –
... und ich bekomme Trauer, wenn ich feststelle, dass Microsoft C++ als Bürger zweiter Klasse behandelt. Die Aussage, dass "access()" veraltet ist, ist albern auf ihrem Nennwert. –
@SamVarshavchik Sie scheinen einen guten Grund dafür zu haben. –