文件管理 · 2023年11月24日

c语言从文件读取|如何用c语言从txt文件中读取数据

A. c语言从文件读取数据

四个整型 一个浮点型, 所以 用数组的话 只能是用浮点型数组, 即float a[5];

或者用五个变量, 可以是四个整型,一个浮点型. int a,b,d,e; float c;

打开文件部分相同.

FILE*fp=fopen("input1.txt","r");

读取数据, 数组方式:

inti;floata[5];fscanf(fp,"%f,",&a[0]);for(i=1;i<5;i++)fscanf(fp,"%f",&a[i]);

变量方式:

inta,b,d,e;floatc;fscanf(fp,"%d,%d%f%d%d",&a,&b,&c,&d,&e);

B. 如何用c语言从txt文件中读取数据

用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。一、打开文件:FILE*fopen(constchar*filename,constchar*mode);因为txt文件为文本文件,所以打开时选择的mode应为"r"或者"rt"。二、读取文件:读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。可以使用一种,也可以几种混用。常用的文件读取函数如下:1、fgetc,从文件中读取一个字节并返回。适用于逐个字节读取。2、fgets,从文件中读取一行。适用于整行读取。3、fscanf,格式化读取文件,在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。4、fread,整块读取文件,对于txt文件比较少用。三、关闭文件:读取结束后,应调用fclose函数关闭文件。

C. C语言读取文件数据

先用getline或fgets读取数据到一个字符串中,这个串定义的长一点,保证够用就行,如:charstr[1024];fgets(str,sizeof(str),fp);//fp为你打开的文件指针然后调用for循环去读取串的的数据,假设你的分隔符是空格,遍历str,遇到空格就得到一个数据,然后继续遍历,直到str尾。然后再去fgets数据,再遍历,即可得到所有的数据。

D. C语言如何读取文件

C语言读取文件的具体步骤如下:

我们需要准备的材料分别是:电脑、C语言。

1、首先我内们打开需要容读取的文件,点击打开左上角文件中的“另存为”。

E. c语言如何实现从文本文件里读取数字

可以通过fscanf,从复文件中依次读取制数据。当fscanf返回EOF时,表示读到文件结尾,这时停止读取即可。以文件中存储的为空格分隔的整型字符为例,可以写作:while(fscanf(fp,"%d",&n) != EOF)//从打开的文件指针fp指向的文件读数据,每次读一个整型,直至文件结尾。

F. C语言如何读取文件

文件流指针应打文件,要同操作两文件,所要用两文件流指针,像要同操作两箱.程序理解:两箱,fp1,fp2;打箱fp1,fp2,拿1024东西看,同放第二箱fp2,至箱东西完全拿,关闭两箱.例都差,看看stdlibf函数,C文件操作:FILL*pf;//声明指针,指针数组FILEpf[2]或FILE**pf;pf=fopen();fread()orfwrite()……//操作文件fclose(pf)//关闭文件

G. 怎么用C语言读取文件

#include"stdio.h"intmain(){ FILE*pf=NULL; //文件指针 intfilelen=0; inti=0; char*buf; pf=fopen("D:\\test.txt","r"); //以只读方式打开文件 if(pf==NULL) { return0; } else { //获得文件长度 fseek(pf,0,SEEK_END); //文件指针移到末尾 filelen=ftell(pf); //获得文件当前指针位置,即为文件长度 rewind(pf); //将文件指针移到开头,准备读取 buf=malloc(filelen+1); //新建缓冲区,存储独处的数据 //将缓冲区的数据设置为0 for(i=0;i<filelen+1;i++) buf[i]=0; //读取文件 fread(buf,filelen,1,pf); //关闭文件 fclose(pf); //buf中即为要读出的数据 printf("%s\n",buf); //输出一下数据,你可以随便怎么用 free(buf); //最后记得要释放 } return1;}

H. c语言,怎么从文件读取数据到结构体,求助

C 结构体

实现读取文件并保存到结构体代码:

#include<stdio.h>

#include<stdlib.h>

//文件操作格式化读取保存到结构体数组

#defineBUFSIZE1000

structdata

charG[4];

floatXs;//起点坐标

floatYs;

floatE;

};

intmain()

FILE*fp;

inti,j,r_n=0;

charbuf[BUFSIZE],c;

//打开文件

fp=fopen("E:\\line.txt","r");

if(fp==NULL)

printf("Cannotopenfile!\n");

return1;

//计算文件中数据的行数

while(!feof(fp))

{c=fgetc(fp);

if(c=='\n')

r_n++;

printf("r_n=%d\n",r_n);

rewind(fp);//将指针重置到第一行

structdata*line1=NULL;

line1=(structdata*)malloc(sizeof(structdata)*(r_n+1));//创建一个结构体含有(r_n+1)个数据

for(i=1;i<=r_n;i++)

fgets(buf,BUFSIZE,fp);//一次读取一行

sscanf(buf,"%sX%fY%fE%f",&line1[i].G,&line1[i].Xs,&line1[i].Ys,&line1[i].E);//分别跳过XYE读取数据

//关闭文件

fclose(fp);

for(i=1;i<=r_n-1;i++)

printf("\n%s%.3f%.3f%.3f",line1[i].G,line1[i].Xs,line1[i].Ys,&line1[i].E);

free(line1);//释放

return0;

运行效果:

(8)c语言从文件读取扩展阅读:

函数sscanf(),它是C语言中从一个字符串中读进与指定格式相符的数据的函数。

函数原型:

intsscanf(stringstr,stringfmt,mixedvar1,mixedvar2...);

intscanf(constchar*format[,argument]...);

sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。

其中的format可以是一个或多个{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符号}

注:

1、*亦可用于格式中,(即%*d和%*s)加了星号(*)表示跳过此数据不读入.(也就是不把此数据读入参数中)

2、{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。

3、width表示读取宽度。

4、{h|l|I64|L}:参数的size,通常h表示单字节size,I表示2字节size,L表示4字节size(double例外),l64表示8字节size。

5、type:这就很多了,就是%s,%d之类。

6、特别的:%*[width][{h|l|I64|L}]type表示满足该条件的被过滤掉,不会向目标参数中写入值

支持集合操作:

%[a-z]表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)

%[aB']匹配a、B、'中一员,贪婪性

%[^a]匹配非a的任意字符,贪婪性

I. c语言如何读取文件并输出

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。2、例程:#include<stdio.h>int a;char b,c[100];int main(){ FILE * fp1 = fopen("input.txt", "r");//打开输入文件 FILE * fp2 = fopen("output.txt", "w");//打开输出文件 if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出 puts("不能打开文件!"); rturn 0; } fscanf(fp1,"%d",&a);//从输入文件读取一个整数 b=fgetc(fp1);//从输入文件读取一个字符 fgets(c,100,fp1);//从输入文件读取一行字符串 printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数 fputs(c,fp2);//向输出文件写入一行字符串 fputc(b,fp2);//向输出文件写入一个字符 fprintf(fp2,"%d",a);//向输出文件写入一个整数 fclose(fp1);//关闭输入文件 fclose(fp2);//关闭输出文件,相当于保存 return 0;}