c++ - Steamworks 检查用户是否登录

标签 c++ steam unreal-engine4 steamworks-api

所以我用来获取用户 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 block 来确保它不会中断并在用户未登录时返回 false?

最佳答案

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

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

关于c++ - Steamworks 检查用户是否登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29854767/

相关文章:

c++ - 时间返回负值

steam - 如何使用 SteamWorks API 检索 Steam 用户名?

Steam 网络 API : CS:GO Getting Skin name of items

c++ - 处理与 TriggerSphere 和其他 Actor 的重叠?

c++ - 编写程序使CPU使用率达到50%左右

c++ - void 和非 void 返回函数的完美转发

c++ - "Unlimited"CEdit text without ES_AutoHScroll

c++ - 如何创建和分发 SteamVR 仪表板覆盖

c++ - fatal error C1001 : An internal error (compiler file 'msc1.cpp' , 第 1518 行)与 vs2017 15.8.4

python - 使用 Python 从虚幻引擎中的类中生成 actor