我有這樣的:For循環讀取文件不能正常工作
private void getAccount()
{
string[] acct = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Accts.txt");
for (int i = 0; i < acct[line].Length - 1; i++)
{
foreach (char c in acct[line])
{
if (c.ToString() == ":")
{
onPass = true;
i += 1;
}
if (onPass == false) { user += acct[line][i]; }
if (onPass == true) { pass += acct[line][i]; }
}
}
MessageBox.Show("Username is " + user + ". \n\nPassword is " + pass + ".");
onPass = false;
}
的文件有這樣的:
minicl55:mypass
然而,這此輸出:
這些有以下問題:
個- 字符被重複了很多
- 只有「MMMMMMM」被認爲是用戶名的一部分,一切直到結腸應該是用戶名的一部分,之後通過
- 的:包括在密碼,應該完全被忽略(除了告訴那裏的用戶名和停止密碼開始)
for循環應該從0開始,直到(line-1),假設行數是文件中的行數。 – thunderbird
你爲什麼不簡單地對它進行所需的線迭代?這裏不需要'for'。哦,在這裏,爲什麼要重複使用字符:除非'foreach'循環結束,否則'i'不會增加,因此會附加相同的字符。 – Leri
使用兩個計數器變量'i和j'...第一個for循環應該遍歷文件的每一行,而第二個foreach循環與計數器j應該遍歷每行的內容。 – thunderbird