[問題] 怎麼省空間來儲存/怎麼迴圈讀取array

看板C_and_CPP作者 (金屬製品)時間16年前 (2009/12/23 11:04), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
小弟手上只有一本c++的書籍,但是要寫C語言的東西 首先第一個問題是,如果現在有一個array,有N個 裡面的資料非常的簡單,只有1跟-1 現在我把我的程式簡化的話,大概是這樣 for(t=0;t<T;t++) { for(int i=0;i<N;i++) { if(drand48()>0.5) h_S[i]=-1; else h_S[i]=1; } 存檔; } 簡而言之就是每個t之下就要儲存一次這個array 存檔那邊我真的不知道要怎麼寫,首先這資料型態就只有1跟-1 應該是可以存成二進位檔 來省空間,但我一來不知道C是要怎麼表示存檔 (c++小弟自己想的,應該是 fstream savefile; savefile.open("save.txt",ios::out+ios::app); savefile.write(h_S,strlen(h_S)); ) 二來不知道要怎麼用省空間的方式存 懇請大大教教小弟要怎麼以C來做省空間的存法 這邊應該還會碰到一個問題,那就是在我自己想的c++語法這樣儲存下來, 在不同t之下array好像是接起來的 比如說一個array,N=3,T=2 本來要分辨不同array 應該檔案會是11-1 -11-1 但我這樣寫好像會變成11-1-11-1 這樣以後我要把這資料挑出來來進行分析資料似乎會有點麻煩 但小弟在這方面毫無 頭緒,懇請大大指點 接著下面這個問題就是在於假使上面這個問題解決完畢之後 要進行數據分析 於是我要把這一群資料們再次依序t來放回這個array 在C++的語法 for(t..){ savefile.open("save.txt".ios::in); savefile.read(h_S,N); } 是這樣寫對嗎(感覺怪怪的 好像每次都會讀到同一條array 但又不知道要怎麼 來以迴圈讀取這一群array)?那麼在c語言呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.86.225 ※ 編輯: DreamLoser 來自: 59.112.86.225 (12/23 11:07) ※ 編輯: DreamLoser 來自: 59.112.86.225 (12/23 11:14)

12/23 12:54, , 1F
keyword: fopen/fread/fwrite/fclose
12/23 12:54, 1F

12/24 01:24, , 2F
只有1和-1,你不一定要存1和-1
12/24 01:24, 2F

12/24 01:25, , 3F
可以存1和0,0讀出來再轉成-1就好
12/24 01:25, 3F
文章代碼(AID): #1BCOZH0e (C_and_CPP)