voidmain()
{
FILE*fin
inta,b,c,d
chars[20]
floatf1,f2,f3,f4
fin=fopen("abc.txt","r")//打开
fscanf(fin,"%1d%1d%1d%1d",&a,&b,&c,&d)//按1位整型读前4个数
printf("a=%db=%dc=%dd=%d\n",a,b,c,d)
rewind(fin)//文件回绕到开始处
fscanf(fin,"%s",s)//按字符串读一串
printf("s=%s\n",s)
rewind(fin)//文件回绕到开始处
fscanf(fin,"%1f%1f%1f%1f",&f1,&f2,&f3,&f4)//按1位float型读前4个数
printf("%f%f%f%f\n",f1,f2,f3,f4)
flcose(fin)
}
abc.txt内容:
123456789
读到数组:
inty[20]
inti
fin=fopen("abc.txt","r")
for(i=0i<9i++)fscanf(fin,"%1d",&y[i])
扩展资料
C语言中文件的读取
fopen(打开文件)
相关函数open,fclose
表头文件#include<stdio.h>
定义函数FILE*fopen(constchar*path,constchar*mode)
函数说明参数路径包含包含打开的文件路径和文件名,参数模式字符串则代表着流形态。
模式有以下几种形态类别:
r:预期文件,该文件必须存在。
r+:可读写的文件,该文件必须存在。
w:只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+:可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a以附加的方式打开只写文件。若文件不存在,则建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
可以通过fscanf,从文件中依次读取数据。当fscanf返回EOF时,表示读到文件结尾,这时停止读取即可。以文件中存储的为空格分隔的整型字符为例,可以写作:while(fscanf(fp,"%d",&n) != EOF)//从打开的文件指针fp指向的文件读数据,每次读一个整型,直至文件结尾。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。不同的变量类型可以用结构体(struct)组合在一起。
通用方法是使用sscanf,例如
#include <stdio.h>
int main()
{
char s1[]="12345",s2[]="-123.456"
int a
float b
sscanf(s1,"%d",&a)
sscanf(s2,"%f",&b)
printf("%d\n%.3f\n",a,b)
return 0
}
请点击输入图片描述
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)