首页 > 其他分享 >初学C语言笔记221007

初学C语言笔记221007

时间:2022-10-07 15:05:12浏览次数:72  
标签:fp 文件 函数 ferror C语言 初学 返回值 221007 EOF

鹏哥花了点时间教大家投资

初学C语言笔记221007_文件指针

fread返回值是真实读到的元素个数

while(fread(&s,sizeof(struct S),1,fp)
{
//
}

课后扩展mySQL

fseek

初学C语言笔记221007_非零值_02

ftell

int pos = ftell(fp);  //文件指针相对于起始位置的偏移量

rewind(fp);  //让文件指针回到起始位置

feof  // EOF——文件结束标志(-1)空文件读到的就是-1

初学C语言笔记221007_文件指针_03

perror("string:error");

C 库函数 - ferror()

在调用各种输入输出函数(如 putc.getc.fread.fwrite等)时,如果出现错误,除了函数​​返回值​​有所反映外,还可以用ferror函数检查。

它的一般调用形式为 ferror(fp);如果ferror返回值为0(假),表示未出错。如果返回一个非零值,表示出错。应该注意,对同一个文件 每一次调用输入输出函数,均产生一个新的ferror函 数值,因此,应当在调用一个输入输出函数后立即检 查ferror函数的值,否则信息会丢失。在执行​​fopen​​函数时,ferror函数的初始值自动置为0。


吗呀!

这个查错查了半天:

while( i = fgetc(fp) != EOF)

调试i一直是1,搞了半天,这么低级的错误

赋值运算优先级是最低的,只比逗号表达式高。

int i = 0;
FILE *fp = fopen("test2.txt","r");
if(!fp) perror("open text2.txt");

while( (i = fgetc(fp)) != EOF) //fgetc()返回值是int型是因为还要返回-1
{
putchar(i);
}

if(ferror(fp)) //ferror(fp)返回非零值表示读取失败
{
printf("ferror");
}
else if(feof(fp)) //feof(fp)检测流上的文件结束符,如果文件结束,返回非零
{
printf("\tend of file.\n");
}

fclose(fp);
fp = NULL;

























标签:fp,文件,函数,ferror,C语言,初学,返回值,221007,EOF
From: https://blog.51cto.com/u_15789360/5734491

相关文章

  • C语言每日一题——第十天
    第十天随着对指针了解的深入,小明决定进一步尝试指针的使用。他写出一个程序,用于判断给定数组内最长连续字母串的长度。运行:main.exeabcdefea输出:6解释:ab......
  • 【我开了C语言的金手指】二.函数(1)
    (一)函数的定义 是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定的任务,相较于其它的代码,具备相对独立性。 一般会有输入参数并有返回值,提供对过......
  • [C语言]CLion Recommends to use 'strtof' instand of 'scanf'
    #include<stdio.h>intmain(){floatOilConsumption;printf("PleaseentertheFuelConsumption:\n");scanf("%f",&OilConsumption);printf("Fu......
  • C语言学习记录5
    #每日美图分享#huhufor循环的执行顺序为:初始化——>判断——>最后再调整#include<stdio.h>intmain(){inti=0;for(i=0//初始化;i<10//判断;i++//调整){......
  • 开始学c语言的感受
    刚开始写博文,不知道如何下手。身在宿舍,为了提升自己的写作技巧、打字速度,保持自己的热情以及复习自己所学的知识,在大佬的推荐下,我选择了博客。刚开始听起编程语言的时候,觉得......
  • C语言-逻辑运算符
    i++与++i的区别intmain(intargc,char*argv[]){inti=1; ints=++i; intx=i++; printf("%d,%d,%d",i,s,x); return0;} 答案:“3,2,2”。解析:i......
  • 多种PID算法用C语言来实现
    原文链接:https://blog.csdn.net/Nirvana_Tai/article/details/105409311,随后整理验证,再补充(一)前言  PID算法在工业应用中随处可见。大学期间,想做各类科创也少不了PI......
  • C语言操作符
    1.在进行除法运算的时候,如果两个操作数都是整数,那么结果就是整数。要想得到的结果是浮点数,至少有一个操作数是浮点数,最后的结果也是定义为浮点类型。2.在进行取模运算的时候......
  • 【C语言】初始函数
    ......
  • C语言下for循环的一点技巧总结
    for循环是普遍应用与各种计算机语言的一种循环方式。一般情况下,for循环规则:for(条件一;条件二;条件三)条件一为满足条件,也就是条件一为1时,进入这个for循环。条件二为循环......