c语言从文件读取一行
⑴ c语言如何读取文本文件中的一行数据啊
用fstream(文件流),fstream
file
然后
file.getline(char*,int,char
a=‘\n’)第一个是一个存储字符串的指针,第二个是要读取的最大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~
⑵ C语言怎样读取文本的每一行
可以使用fgets函数来实现。
1 函数名:
fgets
2 声明形式:
char *fgets(char *buf, int bufsize, FILE *stream);
3 头文件:
stdio.h
4 功能及参数说明:
从stream中读取一行数据存到buf中。如果数据长度小于bufsize,那么读入整行数据,并将换行符转换为字符串结束符\0。 如果数据长度超过bufsize,那么只读入bufsize大小的数据,并在结尾添加\0。
5 返回值:
成功,则返回第一个参数buf;
在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;
如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。
⑶ 如何用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语言如何从文件中读入一行数据
关键技巧:
每行数据个数随机,可用
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语言有没有从文件中读取一行字符串的方法
从文件中查找数据并输出,按以下步骤操作:1.打开文件,如果文件未找到,报错,结束 fopen2.输入待查的字符串,存到变量中gets3.逐行循环读取文件,直到文件结束fgets4.检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找strstr5.循环结束,输出未找到该字符串。6.关闭文件。fclose相关代码和运行效果如下图:⑹ 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]='
