当前位置:首页 » 编程语言 » 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行就行了