導航:首頁 > 文件教程 > c文件讀一行

c文件讀一行

發布時間:2023-02-12 17:19:23

『壹』 C語言有沒有從文件中讀取一行字元串的方法

從文件中查找數據並輸出,按以下步驟操作:
1.
打開文件,如果文件未找到,報錯,結束

fopen
2.
輸入待查的字元串,存到變數中

gets
3.
逐行循環讀取文件,直到文件結束

fgets
4.
檢查字元串是否在該行中,如果在,則輸出該行,關閉文件,結束。否則繼續查找
strstr
5.
循環結束,輸出未找到該字元串。
6.
關閉文件。fclose
相關代碼和運行效果如下圖:

『貳』 C 如何讀取文件的一行

C語言獲得一行的數據還是比較麻煩的,這里講一下幾種曾經用過的方法。 第一種,是最笨的方法,就是一個一個字元的讀取,也是最容易想到的方法。具體實現如下: void read_line(char line[]){FILE *fp;char cChar;int i;fp=fopen("read.txt","r");i=0;cChar=fgetc(fp); while(cChar!='\n' && !feof(fp)){line[i]=cChar;i++;cChar=fgetc(fp);}line[i]='\0';return;}但是,這種方法效率比較低。 第二種,就是使用Linux環境下,有一個函數getline,說明如下: #define _GNU_SOURCE #include <stdio.h #include <stdlib.h int main(void){FILE * fp;char * line = NULL; size_t len = 0; ssize_t read; fp = fopen("/etc/motd", "r"); if (fp == NULL) exit(EXIT_FAILURE); while ((read = getline(&line, &len, fp)) != 1) { printf("Retrieved line of length %zu :\n", read); printf("%s", line);}if (line)free(line); return EXIT_SUCCESS;}第三種,如果使用C++的話,有一個方法比較簡單 ifstream in("read.txt"); string line;

『叄』 如何用c語言讀取txt文件中的其中一行

#include
"stdio.h"
#include
"string.h"
void
main()
{
int
n;

FILE
*fin;
char
s[25];
fin=fopen("c:\\a.txt","r");
fgets(s,25,fin);/*用fgets讀第一行到數組s中*/

n=strlen(s);
fseek(fin,n+1,SEEK_SET);/*將文件指針移到下一行*/
fgets(s,25,fin);/*讀取第二行的字元串*/
printf("%s",s);

}
這個是我寫的一個,如果你想讀到第n行的話,用一個for循環控制使文件指針移到第n行就行了

『肆』 C語言如何讀取文本文件中的一行數據啊

用fstream(文件流),fstream
file
然後
file.getline(char*,int,char
a=『\n』)第一個是一個存儲字元串的指針,第二個專是要讀取的最大長度,屬第三個是行結束符,默認是回車,函數說明就是當讀入的字元超過最大長度int或者遇到行結束符(『\n』)時就停止,而且這個很好用的(對於讀入和寫入),你看看文檔就會了,哈哈,給分啊。!!~~

『伍』 C語言怎樣一行一行讀文件

C語言可以通過fgets函數一次讀一行數據。

fgets函數原型如下:

char *fgets(char *buf, int bufsize, FILE *stream);

參數 說明

*buf: 字元型指針,指向用專來存儲所得數屬據的地址。

bufsize: 整型數據,指明存儲數據的大小。

*stream: 文件結構體指針,將要讀取的文件流。

fgets函數注意細節如下:

  1. 從文件結構體指針stream中讀取數據,每次讀取一行。

  2. 讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦''),如果文件中的該行,不足bufsize個字元,則讀完該行就結束。

  3. 如若該行(包括最後一個換行符)的字元數超過bufsize-1,則fgets只返回一個不完整的行,但是,緩沖區總是以NULL字元結尾,對fgets的下一次調用會繼續讀該行。

  4. 函數成功將返回buf,失敗或讀到文件結尾返回NULL

『陸』 c語言如何從文件中讀入一行數據

關鍵技巧:
每行數據個數隨機,可用
c
=
fgetc(fin);
ungetc(c,fin);
檢查是否讀到
換行符或文件結束符。
例如:
a.txt
1
2
3
45
56
6
7
8
9
10
至於記錄每行數據個數,存放到數組,等等,可以自己補充完善。
程序
#include
<stdio.h>
int
main(
)
{
file
*fin;
int
a,c;
fin=fopen("a.txt","rw");
while(1){
c
=
fgetc(fin);
if
(c==eof)
break;
if
(c=='\n')
{printf("\n==========\n");
continue;};
ungetc(c,fin);
fscanf(fin,"%d",&a);
printf("%d
",a);
}
fclose(fin);
return
0;
}

閱讀全文

與c文件讀一行相關的資料

熱點內容
得物app如何用微信支付 瀏覽:184
網路瀏覽加速器 瀏覽:788
蘋果7好端端開不了機 瀏覽:42
javadouble精度損失 瀏覽:308
手機截圖女孩圖標是什麼app 瀏覽:168
有一行數據為什麼不排序 瀏覽:535
直接調用js函數 瀏覽:835
天貓2045是什麼網站 瀏覽:189
提取文件夾里所有word文件 瀏覽:288
隔空投送一次能傳送多少個文件 瀏覽:347
拇指玩gpk文件安裝器 瀏覽:475
肖戰為那英打call數據是多少 瀏覽:699
網路優化的發展 瀏覽:719
3dmax打開高版本 瀏覽:177
文件字體一般多少 瀏覽:551
到哪裡知道新發布的app 瀏覽:58
iphone用藍牙滑鼠 瀏覽:212
oracle資料庫設置一對多關系 瀏覽:878
oracle資料庫監聽口令 瀏覽:658
win101511apr 瀏覽:128

友情鏈接