我的* .ini文件包含以下内容
[Settings]
Server=server.myserver.com
Port=6500
我正在使用SimpleIni库。现在我的问题是,我可以从ini轻松地获取两个变量。但是,在将端口提供给我的套接字时,它不是整数。简化的代码版本。最终我无法将sPort转换为整数,以便我可以将其分配给int Port。
int main(int argc, char *argv[])
{
int Port;
string sPort="6500";
Port += atoi(sPort.c_str());
cout<<sPort + "\n";
cout<<Port;
c.conn(ini.GetValue("Settings","Server","") , Port);
}
我尝试过stoi()并且没有用。我已经尝试过atoi(),它至少运行,但返回6500以外的随机数.6500是我需要的神奇数字。有人建议从哪里去?
答案 0 :(得分:3)
Port
变量应该初始化(到0
)。如果不是,它会得到一个随机值。
或者只使用=
代替+=
。
std::stoi
是C ++ 11的功能,您的编译器版本可能没有。