當前位置:首頁 » 編程語言 » c語言獲取一行
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言獲取一行

發布時間: 2023-04-29 09:09:53

c語言讀取指定行數據

#include<stdio.h>
#defineMAXC1024
intReadSpeacialLine(inti)
{
charfilename[]="test.c";//文件名
FILE*fp;
intret=0,L;
intWhichLine=i;//指定要讀取哪一行
intCurrentIndex=0;//當前讀取的行
charStrLine[MAXC];//每行最大讀取的字元數,可據實際情況更改
if((fp=fopen(filename,"r"))==NULL)//打開文件
{
printf("openfileerror! ");
returnret;
}
while(1){
if(NULL==fgets(StrLine,MAXC,fp))break;
L=strlen(StrLine);
if(' '==StrLine[L-1]){
memset(ln+L-1,0,MAXC-L+1);
CurrentIndex++;
if(WhichLine==CurrentIndex)
{
fgets(StrLine,MAXC,fp);//讀取一行
printf("%s",StrLine);//輸出
ret=1;
returnret;
}
}
else{//行內容太多StrLine會讀不到行結尾的情況
CurrentIndex++;
if(WhichLine==CurrentIndex)
{
fgets(StrLine,MAXC,fp);//讀取一行
printf("%s",StrLine);//輸出
ret=1;
returnret;
}
while(1){
if(NULL==fgets(StrLine,MAXC,fp))gotoEND;
L=strlen(ln);
if(' '==ln[L-1])break;
}
}
}
end:
fclose(fp);//關閉文件
returnret;
}

使用fgets函數,fgets是每次讀取一行。

使用memset來清除StrLine,防止上一次StrLine中的內容未清除。

滿意請採納,不懂請追問。

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

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

⑶ C語言怎麼讀取txt文件中一行的數據

  1. 打開文件 fopen("需要打開的路徑")

  2. 然後使用fgets函數讀取行

  3. #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語言怎麼做到從文件中讀取一行數據,然後改變這一行內容

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);
}

⑸ C語言怎樣讀取文本的每一行

FILE *fin;
char *one_line;
one_line = (char*)malloc( MAX_LINE_SIZE * sizeof(char) );
if((fin = fopen(argv[1], "r"))==NULL)
{
printf("can not open file %s !\n", argv[1]);
exit(-1);
}

while( fgets(one_line, MAX_LINE_SIZE, fin) != NULL )
{
printf("讀一行列印一行%s",one_line);

}

fclose(fin);

⑹ C語言如何讀取一行數據,以空格分開

為了防止上一回輸入的回車影響對於下一次的輸入的讀取,
最好加上清空鍵盤緩沖區處理:fflush(stdin);
scanf("%d",&m);
for(d=0;d

評論
0

0

0

載入更多

⑺ C語言中如何取二維數組的一行(一列)

沒有簡單的函數或表示方法,只能使用循環輸出或者使用數組中的值。

#include <stdio.h>

int main()

{

int a[3][3]={1,2,3,4,5,6,7,8,9};

int b[3],n=3;

printf("輸出第三行: ");

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

{b[i]=a[n-1][i];printf("%d ",b[i]);}

}

數組b中存儲的就是第n行的數據。

(7)c語言獲取一行擴展閱讀:

數組的使用規則:

1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。

3.如不給可初始化的數組賦初值,則全部元素均為0值。

4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。

網路-數組

⑻ 如何用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語言讀取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行就行了