-
#include
#include
using namespace std;
int main()
ifstream in("");在 中定義乙個輸入流,並繫結它以從中獲取資料。
int x;定義乙個臨時變數,用於接收從中讀取的資料。
for (;in >>x;輸入流中的資料通過 “ 運算子饋送到 x。
如果 cout 中的資料為: 1 23 44 25 62 32 則輸出: 1 23 44 25 62 32 45 36 37 38 29
-
ifstream fin( ,std::ifstream::in ||std::ifstream::binary );
string strline = '"
while( getline( fin, strline) 大概是這樣的,至於具體型別,用的時候就把它轉過來。
-
這可以使用 C++ 庫函式 GetLine 來完成。
GetLine 生成乙個字串,其中包含從輸入流讀取的字串,直到發生以下情況導致此字串結束。
1)讀取檔案末尾;
2)遇到函式指定的終結器;
3)輸入到最大。
getline 有兩種型別的過載:
引數說明: buffer:讀取的資料將儲存在緩衝區中。
num:最多可以讀取 num 個字元。 也就是說,前面提到的最大金額。
delim:終結者,當遇到指定的終結者時,它將結束輸入。 在第一種型別的過載中,結束字元是,即遇到換行符的結尾。
所以要實現整行讀取,可以使用第乙個過載。 示例如下:
#include
using namespace std;
int main()
char buf[1024];儲存的 BUFF。
while(getline(buf,sizeof(buf)))。
cout <<"read line:" <
-
假設檔案位於 中,沒有空行。
使用讀取 1 行,然後找到每行中最後乙個數字的開頭,並使用 sscanf 讀取它。
#include
main()}
for (i=0;ireturn 0;
另一種方式是:
由於您的資料具有規律性,因此可以跳過 3 並讀取 1。 %s 是字串跳轉。
-
首先將一行讀成字串。
string curline = getline(cin),然後用字串流從字串流中解析字串流 ss;
double cur;
ss
>cur) -
您可以使用 getline 函式逐行讀取資料。
資源。
-
不幸的是,計算機不可能讀取時間複雜度為 o(1) 的 txt 檔案的第 n 行。
要讀取必須找到第 n-1 行 =>必須找到第 n-2 行....必須找到第 1 行。 所以,讀第5000行的字串只能一行一行地找,就像人看書一樣,要看第5000段(txt的第5000行其實是列印出來的5000段)必須逐段數,否則只能估計,不準確。
如果要查詢時間複雜度為 o(1) 的第 n 個“行”或第 n 個記錄,則必須使用“索引儲存”、“雜湊儲存”等,例如資料庫檔案。 具體細節可以學習“資料結構”、“資料庫原理”等。
#include
讀取檔名檔案(路徑),行哪行+1 個文字。
char * readspeacialline(char *filename, int whichline)
while (!feof(fp))
fgets(strline, 1024, fp);讀取一行並導航到下一行。
currentline++;
fclose(fp);關閉檔案。
return null;
int main()
-
#include
#define maxc 1024
int readspeacialline(int i)while (1)
elsewhile (1) }
end:fclose(fp);關閉檔案。
return ret;
使用 fgets 函式,一次讀取一行 fgets。
使用 memset 清除 strline 以防止最後乙個 strline 中的內容未被清除。
-
坐下來等待,應該沒有更好的方法來定位有多少行,除非首先載入檔案。