Re: [問題] C++ 從文字檔讀數據

看板C_and_CPP作者 (....)時間6年前 (2019/03/19 21:07), 編輯推噓1(1013)
留言14則, 5人參與, 6年前最新討論串2/2 (看更多)
檔案可順利讀取了 但 想問的是 如何在 讀檔後 可以知道 總共有幾個數寫入矩陣 也就是下面的 n值 如何修改寫法 @@ #include <fstream> // 載入fstream標頭檔 #include <iostream> #include <cstdlib> using namespace std; int main(void) { float A[8]; int n; float tmp; ifstream ifile("test1.txt",ios::in); if(ifile.is_open()) { for(int i=0;i<8;i++) { ifile >> A[i]; } } else cout << "檔案開啟失敗..." << endl; n=sizeof(A)/sizeof(A[0]); cout<<"個數:"<<n<<endl; cout<<"排序前:"<<endl; for(int i=0;i<8;i++){ cout<<A[i]<<endl; } cout<<"排序後:"<<endl; for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(A[j]>A[j+1]){ tmp=A[j]; A[j]=A[j+1]; A[j+1]=tmp; } } } for(int i=0;i<n;i++){ cout<<"A["<<i<<"]="<<A[i]<<endl; } cout<<"最大值:"<<A[n-1]<<endl; cout<<"最小值:"<<A[0]<<endl; ifile.close(); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.32.117.144 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1553000876.A.5F1.html

03/20 00:11, 6年前 , 1F
你可以在ifile >> A[i] 的那個迴圈內寫個sum計算有讀入
03/20 00:11, 1F

03/20 00:11, 6年前 , 2F
幾次
03/20 00:11, 2F

03/20 01:15, 6年前 , 3F
google std::vector
03/20 01:15, 3F

03/20 01:17, 6年前 , 4F
把你的迴圈條件改EOF 然後把你讀到的東西都丟進vector
03/20 01:17, 4F

03/20 01:18, 6年前 , 5F
再去call size()出來就有數量了
03/20 01:18, 5F

03/20 04:00, 6年前 , 6F
range style https://bit.ly/2Jn6lp7 不用謝
03/20 04:00, 6F

03/20 04:01, 6年前 , 7F
你確定不去好好讀完書才來寫嗎? 看起來不是一兩章就
03/20 04:01, 7F

03/20 04:01, 6年前 , 8F
能涵蓋的東西
03/20 04:01, 8F

03/20 10:15, 6年前 , 9F
感謝 因為想先確定這方法可不可行
03/20 10:15, 9F

03/20 10:15, 6年前 , 10F
才急著問
03/20 10:15, 10F

03/20 14:25, 6年前 , 11F
那你知道檔案裡數字數目不定的時候,該怎麼辦嗎?
03/20 14:25, 11F

03/20 14:42, 6年前 , 12F
拿掉讀檔, 用 cin 你會不會做? 這明顯不是方向問題
03/20 14:42, 12F

03/20 15:02, 6年前 , 13F
樓上請稍指點下囉
03/20 15:02, 13F

03/20 23:13, 6年前 , 14F
好像可以在讀之前用seekg找end 就知道大小了
03/20 23:13, 14F
文章代碼(AID): #1SaEciNn (C_and_CPP)
文章代碼(AID): #1SaEciNn (C_and_CPP)