當前位置:首頁 » 編程語言 » c語言逐行讀取

c語言逐行讀取

發布時間: 2022-12-07 17:28:50

c語言 如何一行行讀文件

C語言中,使用fgets函數遍可以一行行讀取文件。
1、fgets函數:
原型:char
*
fgets(char
*
buf,
int
bufsize,
FILE
*
stream);
功能:從文件結構體指針stream中讀取數據,每次讀取一行。
說明:讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦值為\0)。如果該行不足bufsize個字元,則讀完該行就結束,如果該行超過bufsize-1個字元,則fgets只返回一個不完整的行,buf緩沖區以\0字元結束,下一次fgets調用會繼續讀取該行剩餘的字元;
頭文件:stdio.h;
返回值:若讀入成功,返回與參數buf相同的字元指針,若讀入過程中遇到EOF或發生錯誤,返回NULL指針。所以當遇到返回值為NULL的情況時,應使用ferror或feof函數檢查是發生錯誤還是遇到EOF。
2、常式:
#include
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打開輸入文件
FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
puts("不能打開文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串
printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數
fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return 0;
}

㈡ C語言怎麼實現逐行讀取指定字元串丫

你這東西是linux環境下的東西吧。。用shell腳本,擴展了正則表達式的egrep就行了
egrep 'RX|TX' input.txt > output.txt
如果是C語言的話,用readline逐行逐行讀取,找到開頭,讀入RX當行,再讀入下一行。之後同樣的繼續readline掃描後面字元串就行了。。

㈢ 關於C語言中文本文件的逐行讀取的實現

#include <stdio.h>

#include <stdlib.h>
#define LINE 1024
char *ReadData(FILE *fp, char *buf)
{
return fgets(buf, LINE, fp);//讀取一行到buf
}
void someprocess(char *buf)
{
printf("%s", buf);//這里的操作你自己定義
}
int main()
{
FILE *fp;
char *buf, filename[20], *p;
printf("input file name:");
gets(filename);
if ((fp=fopen(filename, "r"))==NULL) {
printf("open file error!!\n");
return;
}
buf=(char*)malloc(LINE*sizeof(char));
while(1) {
p=ReadData(fp, buf);//每次調用文件指針fp會自動後移一行
if(!p)//文件讀取結束則跳出循環
break;
someprocess(buf);
}
return 0;
}
不懂請追問,滿意請採納,謝謝!

㈣ C語言讀取文件內容,按行讀

1通過fopen函數打開文本,例如file
*fp=fopen("in.txt","r");//返回一個file類型的句柄
2然後就可以通過fcanf()函數對txt文本進行讀取
3操作完文本之後用fclose()函數
關閉已經打開的文件。
#include
int main()
{
int data;
file *fp=fopen("in.txt","r");
if(!fp)
{
printf("can't open file\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return 0;
}

㈤ C語言讀取文件內容,按行讀

C語言逐行讀取文件內容 ,參考代碼如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAX_LINE1024
intmain()
{
charbuf[MAX_LINE];/*緩沖區*/
FILE*fp;/*文件指針*/
intlen;/*行字元個數*/
if((fp=fopen("test.txt","r"))==NULL)
{
perror("failtoread");
exit(1);
}
while(fgets(buf,MAX_LINE,fp)!=NULL)
{
len=strlen(buf);
buf[len-1]='';/*去掉換行符*/
printf("%s%d ",buf,len-1);
}
return0;
}

㈥ 關於C語言中文本文件的逐行讀取的實現

若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。

以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。

C語言中文本文件的逐行讀取的實現的代碼如下:

#include<stdio.h>

main()

{

FILE * fp;

fp=fopen(「noexist」,」a+」);

if(fp= =NULL) return;

fclose(fp);

}

(6)c語言逐行讀取擴展閱讀

1、如果輸入文本每行中沒有空格,則line在輸入文本中按換行符分隔符循環取值。

2、如果輸入文本中包括空格或製表符,則不是換行讀取,line在輸入文本中按空格分隔符或製表符或換行符特環取值。

3、可以通過把IFS設置為換行符來達到逐行讀取的功能。

㈦ 關於C語言中文本文件的逐行讀取的實現

#include
<stdio.h>
int
ReadData(void)
{
unsigned
int
rc,
i,
get;
/*get為讀取一個位元組*/
FILE
*fp;
fp
=
fopen("helloworld.txt",
"r+");
if
(fp
==
NULL)
{
return
-1;
/*打開文件失敗返回-1*/
}
rc=0;
i=0;
while
((get
=
fgetc(fp))
!=
EOF)
{
if((char)get
==
'\n')
/*記錄換行符*/
{
rc
=
ftell(fp);
i++;
}
rc++;
}
return
i;
}
int
main()
{
int
row;
row
=
ReadData();
printf("Row
=
%d\n",
row);
/*列印文件行數*/
return
0;
}

㈧ c語言怎樣按行讀取

區分讀取的源,有如下兩種情況:

1 從標准輸入讀取,即stdin。
可以使用gets函數:
char * gets(char *str);
該函數會從標准輸入中讀取一行數據,直到讀到\n,並將\n替換為字元串結束符\0,讀取到的數據以字元串形式存於str中。
需要注意的是,使用gets函數時,需要確保str指向空間大小,必須超過任意一行的長度,否則會出現越界操作。有些編譯器會報gets是不安全的,就是這個原因。

2 從文件讀取。
對於一個被打開的文件,如果其是可讀的,那麼可以通過fgets函數實現按行讀取。
char *fgets(char *buf, int bufsize, FILE *fp);
功能與gets類似,只是源不同。fgets從fp中讀一行數據存到buf中,同時會判斷bufsize,如果一行數據的長度超過了bufsize,那麼只讀入bufsize長度的數據,確保不會溢出。否則讀取整行。
由於在C語言中,標准輸入stdin也是以文件指針形式存在的,所以gets可以用
fgets(str, bufsize, stdin);
替代,這樣代碼量稍多一些,但可以更安全。

熱點內容
壓縮段的作 發布:2025-01-20 07:04:13 瀏覽:378
安卓studio字體如何居中 發布:2025-01-20 07:04:13 瀏覽:151
edge瀏覽器無法訪問 發布:2025-01-20 06:52:57 瀏覽:330
c語言inline函數 發布:2025-01-20 06:45:43 瀏覽:747
安卓手機如何把鎖屏時間去掉 發布:2025-01-20 06:34:16 瀏覽:435
linux卸載jdk17 發布:2025-01-20 06:33:29 瀏覽:231
猿編程使用 發布:2025-01-20 06:17:58 瀏覽:453
編譯lichee 發布:2025-01-20 06:16:33 瀏覽:157
f5演算法 發布:2025-01-20 06:11:39 瀏覽:256
吃雞游戲伺服器被鎖怎麼辦 發布:2025-01-20 06:04:21 瀏覽:176