導航:首頁 > 操作系統 > linuxc按行讀取

linuxc按行讀取

發布時間:2022-09-19 22:08:37

『壹』 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語言怎樣按行讀取

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

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);
替代,這樣代碼量稍多一些,但可以更安全。

『叄』 C語言字元串 按行讀取

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
int main()
{
int e=0;
char pjk[80]={0},pj[80]={0},fk[80]={0},dd[80]={0};
FILE *fc,*fp;
char *psz;//[100]={0};
int len=0;
int i=0;
int j=0;
int index[5]={0};
fc=fopen("參數.txt","rb");
fp=fopen("輸出.txt","wb");

fseek(fc,0L,SEEK_END);
len=ftell(fc);//得到文件長度
fseek(fc,0L,SEEK_SET);
psz=(char*)malloc(len+1);//申請內存
memset(psz,0x00,len+1);
fread(psz,len,sizeof(char),fc);//讀全部文件到內存
for (i=0;i<len;i++)
{
if('\r'==psz[i])
{
psz[i]=0;//將字元串切割
}
else if ('\n'==psz[i])
{
j++;
psz[i]=0;//將字元串切割
index[j]=i+1;//獲取每一行開頭索引
}
else
{
dd[i]=psz[i];
}
}

strcpy(dd,psz+index[0]);
e=atoi(psz+index[1]);
strcpy(pjk,psz+index[2]);
strcpy(pj,psz+index[3]);
strcpy(fk,psz+index[4]);
free(psz);//釋放內存

fprintf(fp,"%s\r\n",dd);
fprintf(fp,"%d\r\n",e);
fprintf(fp,"%s\r\n",pjk);
fprintf(fp,"%s\r\n",pj);
fprintf(fp,"%s\r\n",fk);

fclose(fc);
fclose(fp);
}

『肆』 c語言逐行讀取文件

可以使用fgets函數。

1 函數名:

fgets

2 聲明:

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

3 頭文件:

stdio.h

4 功能:

從文件結構體指針stream中讀取數據,每次讀取一行。讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦''),如果文件中的該行,不足bufsize個字元,則讀完該行就結束。如若該行(包括最後一個換行符)的字元數超過bufsize-1,則fgets只返回一個不完整的行,但是,緩沖區總是以NULL字元結尾,對fgets的下一次調用會繼續讀該行。函數成功將返回buf,失敗或讀到文件結尾返回NULL。因此我們不能直接通過fgets的返回值來判斷函數是否是出錯而終止的,應該藉助feof函數或者ferror函數來判斷。


5 參數:

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

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

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


6 返回值:

成功,則返回第一個參數buf;

在讀字元時遇到end-of-file(文件結尾),則eof指示器被設置,如果還沒讀入任何字元就遇到這種情況,則buf保持原來的內容,返回NULL;

如果發生讀入錯誤,error指示器被設置,返回NULL,buf的值可能被改變。


7 示例代碼:

逐行讀取in.txt中的數據,並列印。每行不超過100個字元。

intmain()
{
FILE*fp;
charbuf[101];
fp=fopen("in.txt","r");//打開文件
while(fgets(buf,sizeof(buf),fp))//每次讀取一行數據,直到讀取失敗。
{
printf("%s ",buf);//列印該行。
}
fclose(fp);//關閉文件。

return0;
}

『伍』 如何在linux下編寫c程序,讀取並顯示某個文件的前三行,格式為hrad3文件名

在程序當中編寫這個前三行的話,格式一定要按文件來命名的文件名,命名的文件還是比較好用的。

『陸』 Linux C語言怎麼讀取文件指定行內容

1、用fgets函數可以讀取文件中某行的數據,某列數據就必須一個一個讀入每行的第幾個字元,再存入到一個字元串當中。

2、常式:

#include<stdio.h>
#include<string.h>
voidmain()
{
chara[100],b[100],c[100];
inti=3,j=4,k=0;//第三行,第四列
FILE*fp=fopen("data.txt","r");
while(fgets(c,100,fp)){//讀入每行數據
i--;
if(i==0)strcpy(a,c);//讀到第三行數據
b[k++]=c[j-1];//把每行的那列字元拷到b中
}
b[k]=0;
printf("第%d行數據:%s ",i,a);
printf("第%d列數據:%s ",j,b);
fclose(fp);
}

『柒』 linux下如何將一個文件的內容按行 和 「TAB」分隔讀取

說實話,我沒太理解你所提的問題。
這是文件名,還是文件內容?
你要讀取的行是順序讀取,還是按照所給行數讀取。
然後輸出成的
c11 c12 c13 c14 c15Tab
c21 c22 c23 c24 c25Tab

是文本格式?還是創建的文件名?我是在沒讀懂你所表達的意思。

『捌』 在linux下,怎樣用c語言按行讀取二進制文件,並寫入到另一個文件中

二進制文件分行嗎?文本文件吧?
你查一下fgets的api吧~有事查api自己鑽研才有趣。
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm

『玖』 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;
}
閱讀全文

與linuxc按行讀取相關的資料

熱點內容
什麼是編譯器指令 瀏覽:219
微控制器邏輯命令使用什麼匯流排 瀏覽:885
程序員在學校里是學什麼的 瀏覽:601
oraclejava數據類型 瀏覽:890
程序員考注冊會計師 瀏覽:957
怎麼使用access的命令按鈕 瀏覽:899
有點錢app在哪裡下載 瀏覽:832
博途v15解壓後無法安裝 瀏覽:205
什麼是根伺服器主機 瀏覽:438
安卓手游怎麼申請退款 瀏覽:555
安卓系統如何分享網頁 瀏覽:278
ad如何編譯pcb工程 瀏覽:414
除了滴滴app哪裡還能用滴滴 瀏覽:399
截圖怎麼保存文件夾然後壓縮 瀏覽:8
幻影伺服器怎麼樣 瀏覽:27
具體哪些廣東公司招程序員 瀏覽:870
嵌入式編譯器教程 瀏覽:306
ssl數據加密傳輸 瀏覽:86
51單片機定時器方式2 瀏覽:331
命令行查看開機時間 瀏覽:813