Steamworks 检查用户是否登录

Steamworks checking if a user is logged in

所以我用来获取用户 Steam ID 的代码是:

CSteamID uid = SteamUser()->GetSteamID();
uint64 pid = uid.ConvertToUint64();
std::ostringstream sin;
sin << pid;
std::string s = sin.str();
return s.c_str();

这工作得很好,但是当用户没有登录 Steam 时,它会崩溃。

Access violation - code c0000005 (first/second chance not available)


Steam 是否提供了一种功能,我可以使用该功能在 运行 代码之前检查用户是否已登录,该代码取决于正在登录的用户?或者我可以在这里使用某种 try/catch 块来确保这不会中断并且如果用户未登录则 return false?

感谢@Lightning Racis in Orbit。一个简单的 nullptr 检查修复了它。

if(SteamUser() == nullptr)
    return false;