그래서 저는 사용자 파일 생성을 작성하고 있습니다.하지만 지금까지 가지고 있지만 텍스트의 특정 줄을 얻고 그 변수를 프로그램.C++ 어떻게 특정 줄의 텍스트 파일을 얻을 수 있습니까?
int Player::CheckAccount()
{
Network net;
bool fileFound = false;
string user = GetLoginUser();
string openDir = "./Characters/" + user + "/" + user + ".ini";
if (fileFound == false) {
ifstream openFile(openDir);
if (openFile.good()) {
util::Logger::Dbg("File found for user " + user);
openFile.open(openDir);
util::Logger::Dbg("User file " + user + " is ready to be checked");
fileFound = true;
} else {
util::Logger::Dbg("Could not find user file for " + user + " creating new character file");
CreateAccount(GetLoginUser());
}
}
return net.GetFinalSize() == 1;
}
void Player::CreateAccount(string user)
{
string dir = "./Characters/" + user;
if(CreateDirectory(dir.c_str(), NULL)) {
util::Logger::Dbg("Created new user directory for " + user);
} else {
util::Logger::Dbg("Could not create new user directory for " + user);
}
string fileName = user + ".ini";
ofstream createUser;
string charDir = "./Characters/" + user + "/" + fileName;
createUser.open(charDir);
SetPlayerBanned(false);
SetInAppUsername(user);
createUser << "Username = " << GetLoginUser() << endl;
createUser << "Password = " << GetLoginPass() << endl;
createUser << "app Username = " << GetInAppUsername() << endl;
createUser << "Status = " << GetStatus() << endl;
createUser << "Bio = " << GetBio() << endl;
createUser << "Banned status = " << IsPlayerBanned() << endl;
createUser << "Avatar dir = " << GetAvatarDir() << endl;
createUser.close();
}
그래서 checkaccount 함수에서 나는 bool banstatus가 될 텍스트 문서에서 변수를 추출 할 수 있기를 원합니다. 내가 싫어하는 것은 외부 lib를 사용해야한다는 것이지만 나는 창에서 바로 그것을 할 수 있기를 원한다.
. 그것은 그러한 문자열을 포함하는 줄이 될 것인가? 일반적으로 특정 행을 얻는 유일한 방법은 원하는 행을 찾을 때까지 파일의 처음부터 행을 읽는 것입니다. – john
그래서 텍스트 파일을 반복합니까? 내가 6 번 라인을 말할 때까지? 또한 내가 원하는 라인에서 그 멍청이 (문자열 bool) Player 금지 = 0 또는 1 –
6 번째 줄을 원한다면 처음 5 개를 읽고 멀리 버리고 6 번째 줄을 읽고 원하는대로하십시오. 해야 할 것. – john