www.3112.net > C语言FsCAnF

C语言FsCAnF

你的理解错了,这是将文件中的数据输入到程序中的变量,这个函数是一个输入函数,参考sscanf用法.sscanf示例如下,得到n=1,sz="asdf" { char* str = "1 asdf"; int n; char sz[10]; sscanf(str, "%d%s", &n, &sz); printf("%d %s", n, sz); } fscanf示例如下,加入pf是指向文件内容为1 asdf的文件指针,得到n=1,sz="asdf" { int n; char sz[10]; sscanf(pf, "%d%s", &n, &sz); printf("%d %s", n, sz); }

fscanf(fp,"%s,%d,%f,%f,%f,%f",stu[i].name,&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math,&stu[i].average);读取时候都要用%s,不然你读取的就有问题,如果想拿字符串转变成int 可以使用atoi 例如:char num="456"; int a=atoi(

是以空格分隔的.fscanf会返回读取成功的数据个数,你可以用 int ans=fscanf(fp,"%d%d",&a,&b); 的方法,看ans是否为2,是则表示输入成功.文件指针是自动递增的

功能:从一个流中执行格式化输入 用法:intfscanf(file*stream,char*format,[argument]); intfscanf(文件指针,格式字符串,输入列表); 返回值:整型,数值等于[argument]的个数 程序例:#include<stdlib.h>#include<stdio.h> intmain(void) {

#include int main(){ FILE *fp; int id; char stu; if((fp=fopen("c:/stu.txt","w+"))==NULL) { printf("打开文件,出现错误"); exit(1); } scanf("%d %s",&id,&stu); fprintf(fp,"%d\t%s",id,&stu); id=0; stu=0; rewind(fp); //写完之后不能马上读,需要重置fp到文件头 fscanf(fp,"%d%s",&id,&stu); //少了& printf("%d\t%s",id,stu); return 0;}

首先你要弄清楚fscanf的用处.fscanf的用处就是在指定的文件中读取指定的类型.要写的话就要用fprintf.fscanf能用在除了二进制和只写的打开方式都能用.

fscanf是从文件读取 和scanf是类似的. 只不过 是从文件中读一个整型.至于是fprintf还是printf 看程序要求 对于这个题目 应该是printf 即 从文件中读一个整型数,输出到屏幕.

函数名: fscanf功 能: 从一个流中执行格式化输入用 法: int fscanf(FILE *stream, char *format【,argument】);

fprintf函数:头文件:#include 定义函数:int fprintf(file * stream, const char * format, );函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束('\0')为止.

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com