本篇内容主要讲解“c语言文件操作相关函数举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c语言文件操作相关函数举例分析”吧!
关于fscanf函数的用法
_Check_return_ _CRT_INSECURE_DEPRECATE(fscanf_s) _CRTIMP int __cdecl fscanf(_Inout_ FILE * _File, _In_z_ _Scanf_format_string_ const char * _Format, ...); 这是函数声明,该函数有三个参数,第一个是文件指针,第二个是格式如“%s %d...”这样的,第三个是保存这些从文件读取的数据的地址。具体这些可以去百度,接下来想讲讲我对这个的理解。 while (!feof(fp)) { fscanf(fp, "%s %d", myp.myname, &myp.socer); }
大家好奇为什么这样可以读取文件中的格式化字符。这是因为文件指针会自动向下移动,每当我们读取一行,文件指针就会自动向下读取一行。类似的有read函数。(具体专业术语可能有误,希望大家指出)下面附上例子;
#include<stdio.h> #include<stdlib.h> #include<string.h> struct MyStruct { char myname[10]; int socer; }; int main() { MyStruct myp; FILE *fp = NULL; fp = fopen("d:/data.txt", "a+"); while (!feof(fp)) { fscanf(fp, "%s %d\n", myp.myname, &myp.socer); printf("%s %d\n", myp.myname, myp.socer); } printf("%s %d\n", myp.myname, myp.socer); fclose(fp); system("pause"); return 0; }
细心的同学可能发现我的例子里用的和前面写的fscanf(),有点不一样
fscanf(fp,"%s %d",myp.myname, &myp.socer); fscanf(fp,"%s %d\n",myp.myname, &myp.socer);
这两个都可以工作。 说了这么多,只是想表达这个文件指针会自动的向下移动,可能你早已经知道。
首先你要在d盘创建data.txt 内容类似这样 张三 100 李四 99 王二 60
到此,相信大家对“c语言文件操作相关函数举例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。