我正在閱讀歌曲名稱,歌手和歌曲大小。但它只是在第一套閱讀,然後它給了我瘋狂的錯誤價值觀。我的代碼非常簡單直接,所以我想知道是否有人可以給我一個想法。C++爲什麼這個循環有缺陷將數據讀入結構數組?
struct Songs
{
string title;
string artist;
int men;
};
// main stuff
Songs song[50];
int size=0;
for (int i = 0; i<size;i++)
{
do
{
getline(fin, song[size].title);
getline(fin, song[size].artist);
fin >> song[size].mem;
size++;
i++;
}
while (song[size].title.length()>0);
}
爲什麼你在for循環中遞增我,這已經在每次迭代中遞增? – Joe 2012-02-28 02:12:29
您正在設置大小爲0,然後嘗試啓動一個for循環,因爲這個,將不會運行。我發現很難破譯這段代碼實際上應該做什麼 - 如果我理解你是正確的,你是否正在從文件中讀取數據來填充一些歌曲結構? – 2012-02-28 02:14:13
爲什麼你在一個循環內有一個循環?如果標題的長度大於0,爲什麼while循環繼續執行? 我不知道你甚至試圖完成什麼。你能否加入你正在努力解決的問題,並且給我們所有的支持代碼,而不僅僅是你認爲相關的東西。當然,把它削減一下,這樣我們就不會得到代碼牆了,但是例如什麼是「fin」? – 2012-02-28 02:14:18