【发布时间】:2018-05-24 14:20:27
【问题描述】:
所以...我尝试制作一个从 .txt 文件中读取玩家帐户余额的游戏内商店系统,但我遇到了这个非常奇怪的问题
所以。这个 int 工作得很好。它从文件中读取数据,将字符串转换为数值,然后打印出来。
int main() {
int money;
string cash;
ifstream playerdata;
playerdata.open("player.txt");
if (playerdata.is_open()) {
getline(playerdata,cash);
money = atoi(cash.c_str());
} else cout<<"error";
return money;
}
虽然这个没有。它总是打印出现金等于 0。
class Player {
int money ;
string cash;
public:
GetMoney();
int PrintMoney() {return atoi(cash.c_str());};
};
Player::GetMoney(){
int money;
string cash;
ifstream playerdata;
playerdata.open("player.txt");
if (playerdata.is_open()) {
getline(playerdata,cash);
money = atoi(cash.c_str());
playerdata.close();
} else cout<<"error";
}
int main() {
Player a;
cout<<"Your Money: "<<a.PrintMoney()<<"$";
};
【问题讨论】:
-
你有两个变量叫做
cash——你只想要一个;成员变量。 -
仍在打印同样的东西。
标签: c++ class fstream getline atoi