@Acaunt

Код работает по другому из-за защиты сервера?

Для моего маленького проекта мне нужно было получить имя пользователя. Я нашёл этот код:
#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. Никого взламывать я не собирался. Да я и не умею это делать.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Если очень хочется делать это в онлайн, то пользуйтесь другими онлайн-компиляторами.
https://godbolt.org/ например. Sololearn выглядит в этом плане довольно скудно.
Но тем не менее первый вариант выдал правильный результат.
Можете собирать на своем компе ваши примеры.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы