fscanf函数的正确调用形式?fscanf函数的正确调用形式是( )
大家好,fscanf函数的正确调用形式相信很多的网友都不是很明白,包括fscanf函数的正确调用形式是( )也是一样,不过没有关系,接下来就来为大家分享关于fscanf函数的正确调用形式和fscanf函数的正确调用形式是( )的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
fscanf函数的用法
用法:int fscanf(FILE*stream,char*format,[argument...]);解析:int fscanf(文件指针,格式字符串,输入列表);返回值:类型是整型,成功读入的参数的个数。新建data.txt文件,存入3组坐标,运行程序并输出结果。
fscanf函数的用法 fscanf第一个参数需要一个文件指针,为了查看实验效果,这里先新建一个名为test.txt的文本文件,放在源代码的文件夹,输入如下内容:
123
123.456
Hello world!
要对文件操作,必须将该文件打开:
fp= fopen("test.txt","r");
同时使用完毕后不要忘记使用fclose关闭文件。
test.txt第一行保存的是一个整数,所以可以使用fscanf先读取一个整数:
fscanf(fp,"%d",&num);
test.txt第二行保存了一个浮点数,按照浮点数的格式进行读取:
fscanf(fp,"%f",&fNum);
需要注意的是,由于浮点数位于第二行,所以要想读取这个浮点数,应当先把第一个数读完,否则读取的回事123.000000
同样可以使用类似的方法读取位于第三行的字符串:
fscanf(fp,"%s", str);
但是,从程序的运行结果发现,第三行存储的是Hello world!,而实际运行结果只有“Hello”,这表明fscanf遇到空格会终止本次读操作。
当将fscanf第一个参数设定为stdin时,将实现和scanf函数相同的效果:
fp= stdin;//设置fp为标准输入
fscanf(fp,"%d",&num);//从fp读取一个整数
关于C语言读取文件及fscanf函数的问题
函数名: fscanf
功能:从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
返回值:整型,成功返回读入的参数的个数,失败返回EOF(-1)。
用法:
1 int fscanf(FILE*stream,constchar*format,[argument...]);
FILE*stream:文件指针;
char*format:格式字符串;
[argument...]:输入列表。
例如:
FILE* fp;
char a[10];
int b;
double c;
fscanf(fp,"%s%d%lf", a,&b,&c);
和scanf一样,格式化串的空格不代表读取的子串有空格,存放读取数据的参数都是指针。
扩展阅读,C语言中文件的读取和写:
FILE*pFile=fopen("1.txt","r");//获取文件的指针
char*pBuf;//定义文件指针
fseek(pFile,0,SEEK_END);//把指针移动到文件的结尾,获取文件长度
int len=ftell(pFile);//获取文件长度
pBuf=new char[len+1];//定义数组长度
rewind(pFile);//把指针移动到文件开头因为我们一开始把指针移动到结尾,如果不移动回来会出错
fread(pBuf,1,len,pFile);//读文件
pBuf[len]=0;//把读到的文件最后一位写为0要不然系统会一直寻找到0后才结束
MessageBox(pBuf);//显示读到的数据
fclose(pFile);//关闭文件
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!