C語言 一行一行讀取檔案txt

2021-09-29 05:51:20 字數 1734 閱讀 7175

參考:怎麼用c語言實現讀取乙個txt檔案裡的資料 要按行讀出來

開啟檔案 fopen(「需要開啟的路徑」)

然後使用fgets函式讀取行

#include

#include

#include

#define max_line 1024

intmain()

while

(fgets

(buf,max_line,fp)

!=null

)return0;

}

參考:c語言一行一行的讀取txt檔案

工作中做的專案,經常需要讀取一些指令碼,就是一些txt檔案,用python讀取很簡單,但是我們很多任務具也是用c/c++語言寫的,用c的話讀取檔案我一般是按照如下的方式:

while

(fscanf

(pfile,

"%[^\n]"

,cmdline)

!=eof

)

其中,pfile是呼叫fopen函式返回的檔案控制代碼,cmdline是定義的char型陣列,用來儲存一行的內容。此code運用了fscanf的方式,一行一行的讀取txt檔案,在while中做處理。其中的%[^\n]屬於正規表示式,代表不遇到換行符就一直讀下去,直到遇到換行符\n,fscanf函式就退出。退出後進入while,執行fgetc函式,讀取乙個字元,檔案控制代碼向後移動乙個字元,相當於跳過了\n換行符,下一次就從下一行開始讀了。

參考:fscanf()函式詳解

fscanf()函式(有點像正規表示式):

功 能: 從乙個流中執行格式化輸入,fscanf遇到空格和換行時結束,注意空格時也結束。

用 法:int fscanf(file *stream, char *format,[argument…]);

int fscanf(檔案指標,格式字串,輸入列表);

for example:

file*fp;

chara[10];

intb;

doublec;

fscanf(fp,"%s%d%lf",a,&b,&c)

返回值:整型,數值等於[argument…]的個數

首先我有乙個data。txt的檔案裡面的資料格式如下:2,

50,41,w,

20.5858284,

52,51,r,

52.012547..

....

....

....

....

....

... 許多條類似的記錄,都是以,來分隔的..

....

....

....

....

....

.我實現的功能就是把上面檔案中的資料的五個字段賦值給相應的五個變數,並且輸出這些變數的值。實現的程式如下:

#include

#include

intmain()

lseek

(fd,0,

seek_set);

while(5

==fscanf

(fd,

"%ld,%ld,%ld,%c,%lf\n"

,&dev,

&offset,

&length,

&ch,

&ts)

)close

(fd)

;return0;

}

C語言一行一行讀取檔案

c語言中,使用fgets函式可以一行行讀du取檔案。1 fgets函式 原型 char fgets char buf,int bufsize,file stream 功能 從檔案結構體指標stream中讀取資料,每次讀取一行。說明 讀取的資料儲存在buf指向的字元陣列中,每次最多讀取bufsize ...

python讀取csv檔案(一行一行的讀取)

在python裡面,讀取或寫入csv檔案時,首先要import csv這個庫,然後利用這個庫提供的方法進行對檔案的讀寫。1 獲取每一行 讀取csv檔案,用的是csv.reader 這個方法。返回結果是乙個 csv.reader的物件,我們可以對這個物件進行遍歷,輸出每一行,某一行,或某一列。如下 1...

批量刪除TXT檔案第一行和最後一行

終於實現了把python用起來,記錄一下,環境為python3.7,看了一些網上的方法,但這總算是乙個不錯的開端。import os import os.path import codecs 這裡放著你要操作的資料夾名稱 path c users rym desktop 金融 後復權 後復權a股全 ...