C 通過Read函式讀取檔案

2021-08-14 08:34:05 字數 1333 閱讀 6332

通過read函式將檔案中的資料按照一定的長度讀取出來並且存放在新的陣列中。
函式原型istream& read (char* s, streamsize n);//用來暫存內容的陣列(必須是char*型),以及流的長度
比如我們要讀取txt檔案中的內容
ifstream in("test.txt");
先通過檔案流將流與txt檔案繫結,然後獲取檔案長度
in.seekg(0, in.end);   //追溯到流的尾部

int length = in.tellg(); //獲取流的長度

in.seekg(0, in.beg); //回到流的頭部

然後讀取檔案
char* temp = new char[length];   //用來暫存內容的陣列

if (in.is_open())

將流中的內容讀取到容器中
templatestd::vectorreadarray(std::ifstream &in, int size)   //size標識vector的大小

這裡注意,讀取時必須標識讀入的位置,一般從第乙個位置開始讀入,即vec[0] 或者string[0]
in.seekg(0, in.beg);   //回溯到流頭部

vectortextvec;

textvec = readarray(in, length); //讀取成功

in.close(); //不要忘了關閉流

程式整體如下
#include #include #include using namespace std;

templatestd::vectorreadarray(std::ifstream &in, int size) //size標識vector的大小

int main()

for (int i = 0; i < length; ++i)

cout << endl;

in.seekg(0, in.beg);

vectortextvec;

textvec = readarray(in, length);

cout << textvec[1] << endl;

in.close();

system("pause");

}

C 檔案操作Read函式

1.read 標頭檔案 include unistd.h 函式原型 ssize t read int filedes,void buf,size t nbytes 返回值 讀取到的位元組數 0 讀到 eof 1 出錯 read 函式從 filedes 指定的已開啟檔案中讀取nbytes位元組到 bu...

在系統中使用read函式讀取檔案內容

read函式 讀取檔案 read函式可以讀取檔案。讀取檔案指從某乙個已開啟地檔案中,讀取一定數量地字元,然後將這些讀取的字元放入某乙個預存的緩衝區內,供以後使用。使用格式如下 number read handle,buffer n 上述read呼叫函式中,各個引數的定義如下 handle 這是乙個已...

通過讀取檔案建立鍊錶 c

include typedef struct studentstu,pstu int main int argc,char argv file fp stu stu 10 int ret int i 1,開啟檔案 fp fopen argv 1 r if fp null 2,格式化讀取資訊,一行是乙...