C语言初步总结篇

编程技术 2019-08-12 268 次浏览

记录一个月学习C语言的小结

1.fopen_s函数声明:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    FILE *fp;
    errno_t err;                            //不同点1define error 
    char ch, filename[10];
    printf("请输入所用的文件名:");
    scanf_s("%s", filename,10);
    if ((err = fopen_s(&fp, filename, "w")) !=0)    //不同点2   //define if false 返回的值为空指针
    {
        printf("无法打开此文件\n");            //如果打不开,就输出打不开
        exit(0);                               //终止程序
    }
    ch = getchar();                            //用来接收最后输入的回车符
    printf("请输入一个准备存储到磁盘的字符串(以#结束):");
    ch = getchar();                            //用来接收从键盘输入的第一个字符
    while (ch != '#')                          //当输入“#”时结束循环
    {
        fputc(ch, fp);                         //向磁盘输出一个字符
        putchar(ch);                           //将输出的字符显示在屏幕上
        ch = getchar();                        //再接收从键盘输入的一个字符
    }
    fclose(fp);                                //关闭文件
    putchar(10);                               //向屏幕输出一个换行符
    return 0;
} 

errno_t fopen_s(

FILE**pFile,   

const char*filename,

const char*mode

);

fopen_s函数有3个参数,它的调用方式为:fopen_s(指针,文件名,使用文件方式);其中指针是用来接收<指向打开的文件的指针>的指针。

fopen函数的返回值是一个指向文件的指针,而fopen_s函数的返回值则不同,正确返回0,不正确返回非0。

要定义一个变量来接收fopen_s函数的返回值,即errno_t err; 其中errno_t是int的别名,typedef int errno_t;即err是个整型值,用来接收fopen_s函数的返回值。通过判断err的值是否为0,可以知道打开数据文件成功与否,这是不同点1。

判断打开成功与否fopen_s用(err = fopen_s(&fp, filename, “w”)) !=0,因为它的返回值是整型,而fopen判断打开成功与否,用fp = fopen(filename, “w”)) ==NULL因为它的返回值是指针,打开失败返回空指针NULL,这是不同点2。

FILE *fp;定义fp是一个指向FILE类型数据的指针变量,&p就是一个指向FILE类型数据的指针变量的地址,也就是一个<指向FILE类型数据的指针变量>的指针变量。有点绕,其实只要记住,先如FILE *fp;定义一个指向FILE类型数据的指针变量,在fopen_s的参数,在定义的指针变量前加&即可。


赞 (1)
本文由 Aatrox 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

只有地板了

  1. Aatrox
    Aatrox

    a

添加新评论