『壹』 C语言有没有从文件中读取一行字符串的方法
从文件中查找数据并输出,按以下步骤操作:
1.
打开文件,如果文件未找到,报错,结束
fopen
2.
输入待查的字符串,存到变量中
gets
3.
逐行循环读取文件,直到文件结束
fgets
4.
检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找
strstr
5.
循环结束,输出未找到该字符串。
6.
关闭文件。fclose
相关代码和运行效果如下图:
『贰』 C 如何读取文件的一行
C语言获得一行的数据还是比较麻烦的,这里讲一下几种曾经用过的方法。 第一种,是最笨的方法,就是一个一个字符的读取,也是最容易想到的方法。具体实现如下: void read_line(char line[]){FILE *fp;char cChar;int i;fp=fopen("read.txt","r");i=0;cChar=fgetc(fp); while(cChar!='\n' && !feof(fp)){line[i]=cChar;i++;cChar=fgetc(fp);}line[i]='\0';return;}但是,这种方法效率比较低。 第二种,就是使用Linux环境下,有一个函数getline,说明如下: #define _GNU_SOURCE #include <stdio.h #include <stdlib.h int main(void){FILE * fp;char * line = NULL; size_t len = 0; ssize_t read; fp = fopen("/etc/motd", "r"); if (fp == NULL) exit(EXIT_FAILURE); while ((read = getline(&line, &len, fp)) != 1) { printf("Retrieved line of length %zu :\n", read); printf("%s", line);}if (line)free(line); return EXIT_SUCCESS;}第三种,如果使用C++的话,有一个方法比较简单 ifstream in("read.txt"); string line;
『叁』 如何用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语言如何读取文本文件中的一行数据啊
用fstream(文件流),fstream
file
然后
file.getline(char*,int,char
a=‘\n’)第一个是一个存储字符串的指针,第二个专是要读取的最大长度,属第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~
『伍』 C语言怎样一行一行读文件
C语言可以通过fgets函数一次读一行数据。
fgets函数原型如下:
char *fgets(char *buf, int bufsize, FILE *stream);
参数 说明
*buf: 字符型指针,指向用专来存储所得数属据的地址。
bufsize: 整型数据,指明存储数据的大小。
*stream: 文件结构体指针,将要读取的文件流。
fgets函数注意细节如下:
从文件结构体指针stream中读取数据,每次读取一行。
读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'