admin管理员组文章数量:1794759
用函数fopen
用函数fopen_s打开数据文件
1. fopen_s函数的用法
fopen_s函数声明如下:
errno_t fopen_s ( FILE** pFile, const char *filename, const char *mode );
- fopen_s函数有3个参数,它的调用方式为:fopen_s(指针,文件名,使用文件方式);
-
FILE** pFile:其中指针是用来接收 <指向目标文件的指针> 的指针。
- fopen函数的返回值就是这里的FILE** pFile
- 参数定义:FILE *fp; fp是一个指向FILE类型数据的指针;&p就是指向FILE类型数据的指针的地址,也就是<指向FILE类型数据的指针变量>的指针。只要记住,fopen_s的参数用法类似如下:FILE *fp; fopen_s(&fp, filename, "w")
-
fopen_s函数的返回值与fopen不同。正确打开返回0,不正确返回非0。
-
要定义一个变量err来接收fopen_s函数的返回值,即:errno_t err; 其中errno_t是int的别名,typedef int errno_t;,即err是个整型值。通过判断err的值是否为0,可以知道打开数据文件成功与否。
-
判断打开成功与否fopen_s用:(err = fopen_s(&fp, filename, “w”)) !=0
-
而fopen判断打开成功与否,用:fp = fopen(filename, “w”)) == NULL 打开失败返回空指针NULL。
-
2. 程序实例
从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。
#include<stdio.h> #include<stdlib.h> int main() { FILE *fp; errno_t err; //不同点1 char ch, filename[10]; printf("请输入所用的文件名:"); scanf_s("%s", filename,10); if ((err = fopen_s(&fp, filename, "w")) !=0) //不同点2 { printf("无法打开此文件\\n"); //如果打不开,就输出打不开 exit(0); //终止程序 } ch = getchar(); //用来接收最后输入的回车符 printf("请输入一个准备存储到磁盘的字符串(以#结束):"); ch = getchar(); //用来接收从键盘输入的第一个字符 while (ch != '#') //当输入“#”时结束循环 { fputc(ch, fp); //向磁盘输出一个字符 putchar(ch); //将输出的字符显示在屏幕上 ch = getchar(); //再接收从键盘输入的一个字符 } fclose(fp); //关闭文件 putchar(10); //向屏幕输出一个换行符 return 0; }
C程序输出结果:
请输入所用的文件名:file1.dat 请输入一个准备存储到磁盘的字符串(以#结束):computer and c# computer and c 请按任意键继续. . .版权声明:本文标题:用函数fopen 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686802745a104847.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论