1.動態建立二維陣列的方法:
int**arrry;//4行五列
array = new int*[4];
for (int i = 0; i <= 3; i++)
array[i] = new int[5];
2.過載等號後,初始化第二個物件時可以用第乙個物件
3.比較字串a[20]與b[20]是否相等,用strcmp(a,b),而不是if(a[20]==b[20])
4.在同乙個子函式裡面開啟檔案後,迴圈後指標不會回到檔案頭,需要seek(seekg或者seekp,後面統稱seek)重置。用seek之前一般要用clear()函式,把流的標記清除掉(還有各種錯誤標識)。
對於我個人而言,如果在乙個迴圈執行完後還沒有找到需要的結果,(第二個)迴圈之前就需要clear()和seek函式。
6.要進行讀寫操作,只用ios::binary可能會read不進去而進入死迴圈,所以一般為 fstream file("filename",ios::binary | ios::in | ios::out)
7.檔案每read後指標都會向下走乙個,所以讀到當前操作記憶體時,還要readfile.seekg(-(int)sizeof(contacts), ios::cur);需要的話之後還要readfile.seekg(sizeof(contacts), ios::cur)回來.
8.在乙個子函式內,開頭開乙個檔案,結尾關閉後,再開同乙個檔案,然後迴圈回來,對檔案的操作可能會出錯(畢竟不是同乙個檔案物件了).
9.判斷檔案是否讀取完
正確的方法:
readfile.read((char*)&file, sizeof(contacts));
while (!readfile.eof())
readfile.read((char*)&file, sizeof(contacts));}
易錯法:
while (!readfile.eof())}
容易出錯的地方在於read後,檔案已經完畢,然而不能及時退出,可能再次執行一次if裡面的內容,導致重複操作.
javascript程式設計容易出現的錯誤
var list document.getelementbyid list items one two three four el for var i 0 items i i document fragments 是乙個dom元素容器,可以使用它同時新增這些元素到頁面中。document fragm...
設計資料庫時容易出現的錯誤
在剛開始乙個新的專案時,我們往往都需要一系列的準備才能開始實現裡面的功能,這一系列的準備當然包括最重要的資料庫,所以我們在做專案前都會先設計乙個資料庫,可以說功能的成敗都在於設計出來的資料庫是否正確,如果資料庫設計錯了,那麼功能自然是實現不了滴,那我就說一下我在設計資料庫時都遇到過什麼問題 首先這個...
程式設計時,容易因為粗心而引發的錯誤
1 二維陣列初始化問題 int a 10 10 正確 a 10 10 錯誤,和初始化區別開,需要表示式對其賦值。2 陣列初始化時維數一定要是大於或者等於1的常量表示式 int a 錯誤 int b 10 int c b 錯誤,必須要是常量 const int sz get size int d ge...