擅长:python、mysql、java
<p>你的文本文件格式很脆弱。如果David使用<code>"hannah"</code>作为密码,那么当Hannah尝试更新她的分数时,它将查找她的名字作为第二个字段,而不是查找她的分数(第六个字段),并尝试使用第四个字段(她的名字)作为她的分数!任何人在他们的密码中使用空格也会引起问题,尽管一个偷偷摸摸的人可以使用“abcd 1000000”作为他们的初始密码,并将他们的初始分数设定为一百万。你知道吗</p>
<p>这些问题可以通过以下方法解决:</p>
<ul>
<li>每个用户使用一行,或</li>
<li>仅在每3个字段的第一个字段中搜索用户名</li>
</ul>
<p>以及</p>
<ul>
<li>不允许在密码中使用空格,或</li>
<li>密码编码/加密</li>
</ul>
<hr/>
<p>在任何情况下,都必须读入并存储现有数据,然后将整个数据集写入文件。原因是数据没有存储在固定宽度的字段中。如果分数从99变为100,则需要将文件的所有后续字符向前移动一个字符,这不是对文件所做的修改,而不实际读取和重写整个文件。你知道吗</p>