✨链接1:C语言文件打开关闭详解、文件顺序读写详解。
✨链接2:C语言文件随机读写详解(fseek、ftell、rewind)。
✨链接3:C语言scanf/fscanf/sscnaf和printf/fprintf/sprintf的区别。
✨链接4:C语言打开文件一次既可以读又可以写。
✨链接5:C语言文件结束的判定(feof、ferror)。
✨链接6:宏和函数的区别详解。
指令 | 作用 | 使用方式 |
---|---|---|
#undef |
用于移除一个宏定义 | #undef NAME |
#define |
定义符号和宏 | #define NAME VALUE |
#if |
分支条件编译指令 | #if 常量表达式 |
#endif |
和 #if 配对使用,用来结束#if |
#if 常量表达式 code... #endif |
#elif |
多分支条件编译指令 | #if 常量表达式 code... #elif 常量表达式 code... #endif |
#else |
多分支条件编译指令 | #if 常量表达式 code... #elif 常量表达式 code... #else code... #endif |
#if defined(NAME) |
如果 NAME 定义了代码参与编译 |
#if defined(NAME) code... #endif |
#if !defined(NAME) |
如果 NAME 没有定义代码参与编译 |
#if !defined(NAME) code... #endif |
#ifdef NAME |
如果 NAME 定义了代码参与编译 |
#ifdef code... #endif |
#ifndef NAME |
如果 NAME 没有定义代码参与编译 |
#ifndef code... #endif |
注:以上条件编译都可以嵌套使用。
预处理命令 | 作用 |
---|---|
#include |
头文件包含 ✨链接:C语言头文件包含:双引号 “ ” 与 尖括号 <> 的区别。 |
#pragma pack(num) |
修改结构体对齐数为num |
#pragma comment(lib , "name.lib") |
导入静态库 |
#pragma once |
防止头文件多次包含 |
…… |