我一直在摆弄这个,它返回的只是'save.rp'文件中单独行的前两个数字,
int characterPosition [2] = {0,0};
string convToStr(char *ch)
{
stringstream ss;
string res;
ss << ch;
ss >> res;
return res;
}
int convToInt(string ch)
{
stringstream ss(ch);
int num;
ss >> num;
return num;
}
void loadSave()
{
string loadPos;
ifstream file("save.rp");
if ((file.is_open())&&(file.good()))
{
getline(file,loadPos);
}
file.close();
char str[] = {*loadPos.c_str()};
char delim[] = "-";
char *result = NULL;
result = strtok(str, delim);
int num = 0;
while (result != NULL)
{
characterPosition[num] = convToInt(convToStr(result));
cout << characterPosition[num] << endl;
result = strtok(NULL, delim);
}
}
“save.rp”文件如下所示:400-2000
它应该分别返回每个数字,在这种情况下是 400 和 2000。
我在这里做傻事吗?