파일에 게임 라운드 수를 저장합니다. 나는 그런 점수를 등록하는 파일은 다음과 같다 :문자열과 정수 모두를 포함한 파일을 다른 파일에 복사했는데 역순으로 복사합니다.
James 10
제임스가 10에서, 점수가 다시 시작을한다,이 같은 예를 들어,에 저장되어 다음 번 :
James 10
James 20
세 번 째는 제임스가 연주하고 점수는 20에서 10으로 다시 시작됩니다. 가능한 해결책이 있습니까? 나는 새로운 파일을 역순으로 만들려고 생각했다. 그러나 나는 그렇게하는 법을 모른다. 나는 개인의 최신 점수로 나의 게임을 다시 시작하고 싶다. 어떤 도움이나 제안을 주시면 감사하겠습니다.
점수와 관련된 부분 만 붙여 넣습니다. 누구든지 더 많은 코드가 필요하면 알려주십시오.
cout << "Please enter your name : ";
getline(cin, name);
ifstream inFile("Scores.txt", ios::in);
if(inFile.is_open()) {
while(!inFile.eof())
{
string temp;
int sc;
inFile >> temp;
inFile >> sc;
if(temp == name) {
score = sc;
break;
}
}
}
역순으로 쓰는 것이 왜 유용할까요? 확실히 당신이 원하는 것은 각 플레이어의 이름과 점수를 정확하게 저장하는 것입니다. – ClickRick
그래, 나는 그것을 시도했지만 작동하지 않아서 나는 그것을 뒤집을 생각을했고 처음부터 다시 읽게 될 것이고, 최신 점수가 먼저 읽혀질 것이다. 점수를 덮어 쓰는 것은 저와 함께 작동하지 않았습니다. – user3668566
void WriteScore (문자열 이름) { \t ofstream outFile ("Scores.txt", ios :: app | ios :: out); \t outFile << name << ""<< score << endl; \t outFile.flush(); \t outFile.close(); } – user3668566