c语言文件常见错误分析

  • 1.文件结束符号标志EOF,即使在空文件也有占一个字符。写入五个字符以后,此时ftell(fp)=6;

  • 文件读写标识符(下标)从0开始

  • fscanf()函数从文件流当中读入字符串的时候遇到空格、换行符都作为字符串结束标志。

 while(!feof(fp))
    {
        putchar(fgetc(fp));
    }
//feof()函数机制,当走到某一文件读写标识符时,会看后面有字符嘛有则返回0,表示不是文件结束标注EOF,否则返回0;
//对于空文件来说,文件标识符初始为0,其后面有一个字符EOF文件结束标志字符。



    while(ftell(fp)<=15)
    {
        putchar(fgetc(fp));
    }
    fclose(fp);
    //注意还有文件初始就有一个文件结束标识符号EOF
  • 将一个字符串写入文件的时候,结尾的回车符号,在读取文件该字符串并输出时,会输出这个回车符号(换行)
#include <stdlib.h>

#define all 3

#include <ctype.h>
#include <string.h>

int main() {
    FILE *fp;
    fp = fopen("F:\\clion c++\\code\\cmake-build-debug-coverage\\t1.txt", "w+");
    char name[all][100];
    for (int i = 0; i < all; i++) {
        gets(name[i]);
        for (int j = 0; name[i][j] != '\0'; j++) {
            if (name[i][j] <= 'z' && name[i][j] >= 'a')
                name[i][j] = toupper(name[i][j]);
        }
        fprintf(fp, "%s", name[i]);
    }
//    printf("%d", ftell(fp));
    rewind(fp);
    while (!feof(fp)) {
        printf("%d",ftell(fp));
        putchar(fgetc(fp));
        printf(" ");
    }
    fclose(fp);
    return 0;
}
输入:
fasdfad

输出
0F 1A 2S 3D 4F 5A 6D 7� 
最后这个符号是EOF
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
9578次浏览 87人参与
# 你的实习产出是真实的还是包装的? #
1710次浏览 40人参与
# 巨人网络春招 #
11301次浏览 223人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7449次浏览 43人参与
# 简历第一个项目做什么 #
31547次浏览 330人参与
# 重来一次,我还会选择这个专业吗 #
433345次浏览 3926人参与
# 米连集团26产品管培生项目 #
5725次浏览 214人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186964次浏览 1120人参与
# 牛客AI文生图 #
21408次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152287次浏览 887人参与
# 研究所笔面经互助 #
118866次浏览 577人参与
# 简历中的项目经历要怎么写? #
310048次浏览 4192人参与
# AI时代,哪些岗位最容易被淘汰 #
63387次浏览 803人参与
# 面试紧张时你会有什么表现? #
30485次浏览 188人参与
# 你今年的平均薪资是多少? #
213006次浏览 1039人参与
# 你怎么看待AI面试 #
179843次浏览 1234人参与
# 高学历就一定能找到好工作吗? #
64307次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76432次浏览 374人参与
# 我的求职精神状态 #
447981次浏览 3128人参与
# 正在春招的你,也参与了去年秋招吗? #
363237次浏览 2637人参与
# 腾讯音乐求职进展汇总 #
160581次浏览 1111人参与
# 校招笔试 #
470371次浏览 2963人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务