• feof() 与 fgetc() 函数


    //object: 关于feof的用法 ,
    //writer: mike
    //time: 2020.09.30
    //特别说明: int feof(FILE*fp) 如果没有检测到eof则返回1,如果检测到了,则返回0,我将它理解为末尾有一个符号就像字符串的末尾有.
    //          int fgetc(FILE*fp) 读取一个char, 并将这个字节转换为整数后返回。 
    #include<stdio.h>
    
    int main()
    {
    FILE* fp;
    int c;
    //注意这里用的是fopen_s, fp前面有趣地址符。
    fopen_s(&fp, "C:\users\mike1\desktop\1.txt", "r");
    if(fp == NULL)
    {
        printf("文件打开错误!
    ");
    
    }
    do
    {
        //首先读取一个字符,这里将字符,转换成了无符号的整数。
        c = fgetc(fp);
        //如果feof返回的是1,即文件确实到末尾了,可以理解为没有检测到eof.
        if(feof(fp))
        {
    
            break;
        }
        else
        {
            printf("%c",c);
        }
        
    } while (1);
    getchar();
    
    
    return 0;
    }
    
    //问题: 为什么文件是汉字时,也能正常读取?

    结果是: 无论文件是英文还是中文都能正确的读取,那么这会不会和c语言的编码方式有关。

  • 相关阅读:
    Linux JDK安装
    Redis集群搭建
    Struts2 中添加 Servlet
    js小技巧:数组去重
    修改Request 中的数据
    JAVA 图形界面开发基础详解
    JAVA 类和对象基础知识详解
    Java 类的继承详解
    C++ 大学课堂知识点总结
    数据库简单练习 建表+select
  • 原文地址:https://www.cnblogs.com/zijidefengge/p/13752670.html
Copyright © 2020-2023  润新知