回复 9楼 TonyDeng
if(line[strlen(line)-1] == '{') /** 如果读到的行最后一个位是否‘{’ */ 我这个表达对还是错阿。
理論上對,但實際的文本中,一行最後的'{'字符後面可能有若干空格(假設不考慮注釋),此時就可能漏掉這個符號。首先需要做的事,是設計一個可操作的流程,是確保能夠正確完成任務的,然後按這個流程寫程序(所謂“程序”,就是流程)。比如,你可以先把line後面的空格全部過濾掉,再執行這個判斷。這些東西,才是要你自己想的。
又比如,不要依賴用空格(ASCII 32)來判斷什麼,有些文本可能用了'\t'。這些,都要靠仔細的測試和調試才能發現的。程序員要耐得住寂寞,指的就是這種現實調試,假定一切都有嚴格格式,程序當然好寫了,但現實不是這樣。