1
我在我的類中得到了一個函數,它返回一個持有User和Pass從ini文件讀取的向量。向量元素輸出垃圾
下面是讀取它的代碼。我在這裏爲測試添加了輸出,並且它正在成功讀取它。
vector<char*> Main::GetAccount(int i)
{
vector<char*> LoginInfo;
char szUser[13];
char szPass[13];
char szBuf[3];
_itoa_s(i, szBuf, 10);
GetPrivateProfileString(szBuf, "UserID", "User", szUser, 13, ".\\accounts.ini");
GetPrivateProfileString(szBuf, "Pass", "Pass", szPass, 13, ".\\accounts.ini");
if (strcmp(szUser, "User") == 0)
{
char szBuffer[80];
sprintf_s(szBuffer, "Cannot read account %i.", i);
Log(szBuffer);
exit(EXIT_FAILURE);
}
else
{
LoginInfo.push_back(szUser);
LoginInfo.push_back(szPass);
return LoginInfo;
}
}
這裏是我打電話給它的地方,以及它出錯的地方。
for (int i = 1; i < main->nBots + 1; i++)
{
vector<char*> LoginInfo = main->GetAccount(i);
char* szUser = LoginInfo[0];
char* szPass = LoginInfo[1];
cout << szUser << endl << szPass << endl;
}
[未定義行爲](http://stackoverflow.com/questions/6441218/can-a-local-variables-memory-be-accessed-outside-its-scope) – chris