Ⅰ c语言 读一行
FILE *fin;
char namein[]="my_file.txt"; // 文件名
char *one_line; // 读入的一行
int buff_size=120; //根据最长行字符定大小
if( ( fin = fopen(namein, "r") ) == NULL ) {
printf("can not open file %s\n",namein);
exit (-1);
};
one_line = (char *) malloc(buff_size * sizeof(char));
while ( fgets(one_line, buff_size,fin) !=NULL){
printf("I read: %s",one_line); // 读一行打一行
};
fclose(fin);
------------
对每行进一步分析可以用
sscanf(one_line,"...",...);
Ⅱ C语言 如何一行行读文件
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
charb[25];
//打开文件
FILE*fp;
fp=fopen("D:\a.txt","r");
//获取文件内容,每次读一个字符,包括空格
for(inti=0;i<25;i++)
//fscanf(fp,"%c",&b[i]);
fgets(&b[i],2,fp);
fclose(fp);
//显示读取到的内容
for(inti=0;i<25;i++)
printf("%c",b[i]);
}
Ⅲ 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语言怎么读入一行行的数据
fread()函数是用来读取二进制文件的,就是说为建立存储的东西,就像内从内存里把那段数据块直接搬过来一样,而不是用记事本打开就能看到里面的内容,只是一堆乱码。你的文本文件,可以用fscanf()函数来读取。
把
fread(&F[n],sizeof(double),1024,fp);
改为
fscanf(fp,"%lf",&F[n]);
即可
Ⅳ c语言逐行读取文件
可以使用fgets函数。
1 函数名:
fgets
2 声明:
char *fgets(char *buf, int bufsize, FILE *stream);
3 头文件:
stdio.h
4 功能:
从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'