吾爱程序员
  • 吾爱学编程
  • 免责声明
  • 关于我们
  • C#教程
  • C++教程
  • C语言教程
  • JavaScript教程
  • Java教程
  • jQuery教程
  • PHP教程
  • Python教程
  • Scala编程语言教程
  • SQL教程
  • 操作系统教程
  • 数据结构教程
  • 算法
  • 所有文档

C语言教程

  • C语言基础教程
    • Introduction
    • C语言介绍
    • C 编程语言标准
    • C 中的 int关键字
    • 在 C/C++ 中编写 void main() 或 main() 可以吗?
    • C/C++ 中“int main()”和“int main(void)”的区别?
    • C 中关于宏和预处理器的有趣事实
    • 编译 C 程序:- 幕后
    • C 语言相对于其他编程语言的优势
    • 程序错误信号
    • C中的转义序列
    • C/C++ 中的线拼接
    • C/C++ Tokens
  • C语言变量
    • Introduction
    • C中的变量和关键字
    • C 中变量的作用域如何-静态还是动态?
    • C 中的作用域规则
    • 链接器如何解析在多个位置定义的全局符号?
    • C 中的复杂声明
    • 在 C 中重新声明全局变量
    • C中的内部链接和外部链接
    • 在 C 和 C++ 中将变量声明为常量的不同方法
    • 为什么变量名不以 C 中的数字开头?
    • C中全局变量和静态变量的初始化
    • 宏的可变长度参数
  • C语言数据类型
    • Introduction
    • C中的数据类型
    • 在 C 中使用 bool
    • C中的整数提升
    • 浮点数与 C 中的值的比较
    • C 和 C++ 中是否需要“long”数据类型?
    • C 中的 size_t 数据类型是什么?
    • 关于 C/C++ 中数据类型和修饰符的有趣事实
    • C/C++中float和double的区别
    • C 和 C++ 中的字符运算
    • C中的类型转换
  • C语言存储类
    • Introduction
    • C 中的存储类
    • C中的静态变量
    • 理解 C 中的“extern”关键字
    • C中静态变量的默认值是什么?
    • 理解 C 中的“volatile”限定符
    • C中的常量限定符
    • C中静态变量的初始化
    • 理解 C 中的“register”关键字
    • 理解 C 中的“volatile”限定符
  • C语言输入输出
    • Introduction
    • C/C++ 中 printf() 和 scanf() 的返回值
    • getchar()、fgetc() 和 getc() 的返回类型是什么?
    • C中的scanf系列
    • puts() vs printf() 用于打印字符串
    • printf() 中的 %n 有什么用?
    • 如何使用 printf() 打印 %?
    • printf、sprintf 和 fprintf 有什么区别?
    • getc()、getchar()、getch()和getche()的区别
    • C语言中%d和%i格式说明符的区别
    • 在 C 中使用 fflush(stdin)
    • 在 C/C++ 中清除输入缓冲区
    • C 中的 scanf() 和 fscanf()
    • C中的getchar_unlocked()
    • scanf() 的问题
    • 区分可打印字符和控制字符
    • C/C++ 中的 rand() 和 srand()
  • C语言运算符
    • Introduction
    • C中的运算符和算术运算符简介
    • C 中的关系和逻辑运算符
    • C/C++ 中的位运算符
    • C中的运算符优先级和关联性
    • 操作数的求值顺序
    • C 和 C++ 中的逗号
    • C中的sizeof运算符
    • sizeof 运算符的操作数
    • 逗号运算符问题
    • 逗号运算符的结果作为 C 和 C++ 中的左值
    • 逻辑运算符的操作数顺序
    • 递增(递减)运算符需要 L 值表达式
    • C/C++中后缀++和前缀++的优先级
    • 负数的模
    • C/C++ 三元运算符一些有趣的观察
    • C++ 中的预递增(或预递减)
    • ++*p、*p++ 和 *++p 之间的区别
    • C 和 C++ 中比较运算的结果
    • 不使用任何运算符求两个数之和
    • 在 C 中使用 ++ 运算符执行 printf
    • 用 sizeof() 写的任何东西都不会在 C 中执行
    • C中字符串的strlen()和sizeof()之间的区别
    • C 中的 # 和 ## 运算符
  • C语言预处理器
    • Introduction
    • 编写一个打印 x 的 C 宏 PRINT(x)
    • 宏的可变长度参数
    • C中的多行宏
    • CRASH() 宏——解释
    • OFFSETOF() 宏
    • GCC 中的分支预测宏
    • C语言中#define和const的区别?
    • 头文件“stdio.h”和“stdlib.h”有什么区别?
    • 如何在C中打印变量名?
    • C/C++ 中的常量
    • 预处理器如何在 C 中工作?
    • C/C++ 预处理器
    • C/C++ 预处理器指令
    • C 库函数-isgraph()
    • 如何用C编写自己的头文件?
    • C语言中的difftime()库函数
    • C 中的 tmpnam() 函数
    • C 中的通用关键字
    • C 中math.h库的函数
    • typedef 与 C 中的#define
    • C/C++ 中的 strftime() 函数
    • C中的exec函数族
  • C语言数组和字符串
    • Introduction
    • C语言数组介绍
    • C语言中的字符串
    • C语言数组的属性
    • 不要将 sizeof 用于 C 中的数组参数
    • 在 C 中初始化变量大小的数组
    • 数组成员是否被深度复制?
    • char数组的单引号和双引号声明有什么区别?
    • 在 C/C++ 中初始化多维数组
    • 为 strcat() 和 strcmp() 编写一行函数
    • C 中的 char s[] 和 char *s 有什么区别?
    • gets() 使用起来有风险
    • C函数交换字符串
    • C中字符串的存储
    • C中指针和数组的区别
    • 如何在 C 中动态分配二维数组
    • 如何在C中将二维数组作为参数传递
    • 如何在多行 C/C++ 中编写长字符串
    • 哪些数据类型无法创建数组
    • C/C++ 中的可变长度数组
    • C中用于重复值的速记数组表示法
    • 访问数组越界
    • C/C++ 中的 strcpy
    • C/C++ 中的 strcmp()
    • C/C++ 中的 strdup() 和 strndup() 函数
    • 如何在 C 中按值传递数组
    • 在 C/C++ 中反转字符串的不同方法
    • C语言中的strpbrk()
    • C/C++ 中的 strcoll()
    • C语言中的ispunct()函数
    • C中的strspn()函数
    • C/C++ 中的 isalpha() 和 isdigit()
  • C语言控制语句
    • Introduction
    • C++中switch语句的case标签的数据类型
    • For与While
    • 嵌套循环谜题
    • C中的switch语句
    • C语言中while(1)和while(0)的区别
    • C/C++ 中的 goto 语句
    • C/C++ 中的Continue语句
    • C/C++ 中的Break语句
    • 在 C/C++ 中的 switch case 中使用范围
  • C语言函数
    • Introduction
    • C中的函数
    • C中函数原型的重要性
    • 在 C 中 main() 之前和之后执行的函数
    • main() 中的 return 语句与 exit()
    • 如何计算 C 中可变数量的参数
    • C中函数参数的处理顺序是什么
    • C是否支持函数重载
    • 如何从函数返回多个值
    • 函数原型的目的是什么
    • C中的静态函数
    • exit(), abort() 和 assert()
    • C中的隐式返回类型int
    • 在 C 中声明函数之前调用函数会发生什么
    • _Noreturn C 中的函数说明符
    • exit() vs _Exit()
    • C中的预定义标识符__func__
    • C 中的回调
    • C中的嵌套函数
    • C/C++ 中的参数传递技术
    • C/C++ 中的幂函数
    • C语言中的tolow()函数
    • C语言中的time() 函数
  • C语言指针
    • Introduction
    • C 和 C++ 中的指针简介
    • C中的双指针
    • 为什么 C 将数组参数视为指针
    • 程序的输出 | 取消引用,引用,取消引用,引用
    • 悬空指针、void指针、空指针和野指针
    • 数组元素的一种不常见的表示
    • 如何声明指向函数的指针
    • C中的指针与数组
    • C/C++ 中的void指针
    • C中的空指针
    • C中的函数指针
    • C中的通用链表
    • C中的restrict 关键字
    • const char *p、char * const p 和 const char * const p 的区别
    • 指向数组的指针
  • C语言枚举、结构和联合
    • Introduction
    • C中的枚举
    • C中的结构
    • C中的联合
    • C中Struct Hack
    • 结构成员对齐、填充和数据打包
    • C中结构变量的操作
    • C中的位域
    • C++ 中的结构排序
    • C中结构中的灵活数组成员
    • C中结构和联合的区别
    • C结构和C++结构之间的区别
    • C中的匿名联合和结构
    • C中的复合文字
  • C语言内存管理
    • Introduction
    • C 程序的内存布局
    • 如何在不使用 C 中的 free() 的情况下释放内存
    • malloc() 和 calloc() 的区别与示例
    • 使用 realloc()
    • 如何避免内存泄漏
  • C语言文件处理
    • Introduction
    • C 中的 fseek() 与 rewind()
    • C 中的 EOF、getc() 和 feof()
    • C 中的fopen() 用于写入模式下的现有文件
    • 文件的读/写结构
    • C语言中的fgets()和gets()
    • C 中文件处理的基础知识
    • C/C++ 中的rename函数
    • C语言中的tmpfile()函数
    • C 中的 fgetc() 和 fputc()
    • C/C++ 中的 fseek() 示例
    • C 中的 ftell() 示例
    • C/C++ 中的 lseek()
    • C程序删除文件
    • C程序将两个文件的内容合并到第三个文件中
    • C程序打印文件内容
  • C语言案例实战
    • Introduction
    • C程序在不使用分号的情况下打印从1到N的数字
    • C语言不使用任何运算符求两个数之和
    • C语言如何显示 C 变量的内存表示
    • C语言打印“HelloWord”的条件
    • C语言仅更改/添加一个字符并打印 ‘*’ 正好 20 次
    • C语言给定数字的数字总和程序
    • C语言编写一行 C 函数来舍入浮点数
    • C语言实现你自己的 sizeof
    • C语言如何计算浮点数中的设置位
    • C语言如何在 main() 中更改 printf() 的输出
    • C语言如何在没有 string.h 的情况下查找字符串的长度
    • C语言实现你自己的 itoa()
    • C语言编写一个按下 Ctrl+C 时不终止的 C 程序
    • C语言如何测量函数所花费的时间
    • C语言将浮点数转换为字符串
    • C语言如何在没有 main() 的情况下编写正在运行的 C 代码
    • C语言编写自己的 memcpy() 和 memmove()
    • C语言在不使用格式说明符的情况下打印字符
    • C语言打印不带任何引号(单引号或双引号)的字符串
    • C语言同时执行 if 和 else 语句
    • C语言不使用任何头文件打印“Hello World”
  • C语言其他
    • Introduction
    • C语言中的复杂声明
    • C语言中使用 bool
    • C语言中的序列点
    • C语言优化技术
    • C语言SCII NUL、ASCII 0 (‘0’) 和数字 0
    • C语言小端和大端之谜
    • C语言中qsort()的比较函数
    • C语言验证 IP 地址
    • C语言中的多线程
    • C语言中的断言
    • C语言中的fork()
    • C语言中的有趣事实
    • C语言中的 setjump() 和 longjump()
    • C语言中的 nextafter() 和 nexttoward()
  • C语言面试
    • Introduction
    • 常见的 C 编程面试问题一
    • 常见的 C 编程面试问题二
  1. 主页
  2. 文档
  3. C语言教程
  4. C语言文件处理

C语言文件处理

文章

  • C 中的 fseek() 与 rewind()
  • C 中的 EOF、getc() 和 feof()
  • C 中的fopen() 用于写入模式下的现有文件
  • 文件的读/写结构
  • C语言中的fgets()和gets()
  • C 中文件处理的基础知识
  • C/C++ 中的rename函数
  • C语言中的tmpfile()函数
  • C 中的 fgetc() 和 fputc()
  • C/C++ 中的 fseek() 示例
  • C 中的 ftell() 示例
  • C/C++ 中的 lseek()
  • C程序删除文件
  • C程序将两个文件的内容合并到第三个文件中
  • C程序打印文件内容
最后更新:2022-01-26

文档导航

← C语言内存管理C语言案例实战 →
这篇文章对您有用吗? 是 否
           
© 2023 吾爱程序员 京ICP备2021036729号 京公网安备 11011402011986号