崩溃:字符串问题
Crash: String Issues?
我正在为我的孤岛危机战争服务器修改创建一个功能,可以准确地获得玩家的国家。此信息用于为播放器定制服务器修改的前端(例如,如果播放器是德语,则显示德语)。
我有这段代码,它应该可以正常工作,但不能(如果你想修复缩进,请编辑这篇文章):
int GetFileForCountry(const char *ip)
{
if (!ip)
{
CryLogAlways("[ThunderBolt 7] Internal Error: No IP was defined.");
return false;
}
char myUrl[255];
CryLogAlways("1");
sprintf(myUrl,"http://www.geoplugin.net/json.gp?ip=%s", (const char*)ip);
CryLogAlways("2");
CryLog("[ThunderBolt 7] Downloading file from source: %s", myUrl);
CryLogAlways("3");
const char *ch = gEnv->pConsole->GetCVar("sys_root")->GetString();
CryLogAlways("4");
const char *fLo = ("%sMods/Infinity/System/temp.txt",ch);
CryLogAlways("5");
std::wstring line;
std::cout<<myUrl;
CryLogAlways("6");
getline(std::wcin,line);
HRESULT hr;
CryLogAlways("7");
hr = URLDownloadToFile(NULL,(LPCSTR)line.c_str(),_T(fLo),0,NULL);
CryLogAlways("8");
return fLo;
}
该软件一直在崩溃(多个CryLogAlways背后的原因),我发现它在CryLog("[ThunderBolt 7] Downloading file from source: %s", myUrl);
上崩溃了。我不确定是myUrl
的声明出错了,还是只是CryLogAlways
中的字符串.我和我的一个C++"专家"的伙伴谈过,他不知道出了什么问题。
我还搜索了各种解决方案(已经为此代码进行了超过 5 次完整的替换),但没有一个奏效。我以前使用过这段代码,它工作正常。
这不是那么紧急,但如果你能向我指出问题,请做:)。
这里的问题是C++将其视为两个不同的变量:
CryLog("[ThunderBolt 7] Downloading file from source: %s", myUrl);
CryLog
函数只接受一个参数,因此存在问题。有许多方法可以解决这个问题,其中一种方法是:
CryLog(string("[ThunderBolt 7] Downloading file from source: ") + myUrl);
相关文章:
- 编译包含字符串的代码时遇到问题
- setlocale的C++土耳其字符串问题
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 我的逻辑反转字符串中的元音有什么问题?
- 按字母顺序对C++问题中的子字符串索引进行分区
- 用户输入字符串的文件附加问题..C++
- 使用 minijson-reader 库读取 JSON 字符串时出现问题
- 在将字符串放入字符串向量时遇到问题?
- 将文件复制到自定义位置,存在字符串转换问题
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 不确定出了什么问题(字符串输入)
- 反向和计数字符串的 C++ 问题
- 反转具有返回值的字符串时出现问题
- C++字符串问题-如何访问字符串元素
- public:静态常量字符串声明/初始化问题
- 在MySql中使用字符串操作函数有什么问题
- Libwesockets.h:lws_write:C++字符串到C的转换和发送问题
- 问题:字符串在另一个字符串上写入
- 日志文件输出的问题-字符串和c_str之间的差异- c++