Для моего маленького проекта мне нужно было получить имя пользователя. Я нашёл этот код:
#include <iostream>
#include <pwd.h>
#include <unistd.h>
int main() {
uid_t uid = geteuid();
struct passwd *pw = getpwuid(uid);
if (pw != nullptr) {
std::cout << "Имя текущего пользователя: " << pw->pw_name << std::endl;
} else {
std::cout << "Не удалось получить имя пользователя." << std::endl;
}
return 0;
}
Для проверки некоторых кодов я использую онлайн площадку Sololearn. И данный код мне выдал следующие:
root
Потом мне стало немного любопытно, и я попробовал следующий код:
#include <iostream>
int main() {
std::cout << "/home/root/Documents";
return 0;
}
Он мне выдал следующий результат:
../Playground/
Вопрос: Почему выдало это, а не то что я просто хотел вывести в консоль? Это какая-то защита?
P.S. Никого взламывать я не собирался. Да я и не умею это делать.