C语言-当打开文件不成功时,该如何处理

如题,C语言-当打开文件不成功时,该如何处理?
(此处为凑字数而写与题无关)

一般来说打开不成功会返回一个空文件指针,这个时候输出提示信息,终止程序运行。
FILE* fp = fopen("你的文件", "r");
if (fp == NULL)
{
printf("文件无法打开");
exit(0);
}

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7786902
  • 这篇博客也不错, 你可以看下C语言--不使用库函数,利用指针编写一个计算字符串长度的程序
  • 同时,你还可以查看手册:c语言-成员访问与间接 中的内容
  • 除此之外, 这篇博客: 一文带你吃透操作符,你还不了解操作符吗?(C语言深入解剖篇)中的 ✨右移操作符 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 右移操作符相对复杂一点。分为逻辑移位和算术移位。在转换成二进制时,二进制的第一个数字表示正负,即当第一个数字为0时,该数字为正,为1时,该数字为负
    例如:
    在这里插入图片描述
    ✏️小知识:整数的二进制表示有三种方式:原码,反码,补码
    正整数的原码,反码和补码相同。
    负整数的原码,反码和补码不相同。
    其中在存储时候,存储的是补码。

    在这里插入图片描述

    移位规则:

    左边用0填充,右边丢弃

    #include<stdio.h>
    int main()
    {
    	int num = -2;
    	int a = num >> 1;
    	printf("%d", a);
    	return 0;
    }
    

    在这里插入图片描述

    移位规则:

    左边用原该值的符号位填充,右边丢弃

    #include<stdio.h>
    int main()
    {
    	int num = -2;
    	int a = num >> 1;
    	printf("%d", a);
    	return 0;
    }
    

    在这里插入图片描述
    在这里插入图片描述
    小沐用的编译器支持的是算术右移。
    警告⚠ :
    对于移位运算符,不要移动负数位,这个是标准未定义的。(浮点数也不行)

    例如:

    int num = 10;
    num>>-1;//error
    

    右移一位相当于除与2。

  • 您还可以看一下 吴健老师的c语言指针精讲---讲师指导一步到位课程中的 普通指针的使用小节, 巩固相关知识点