私はしばらくこれをいじっていましたが、返されるのは「save.rp」ファイルの最初の2つの数字だけで、別々の行にあります。
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 の各数値を個別に返すことになっています。
私はここでばかげたことをしていますか?