前言:回顾在学习C时不太熟悉的函数体
memset(puc,0,4) :
void *memset(void *ptr, int value, size_t num);
ptr:要填充的内存起始地址(此处是 puc);
value:填充的字节值(此处是 0 若是char 则全部为' \ 0 ',注意:memset 按单个字节填充,即 使传 int 也只会取低 8 位);
num:要填充的字节数(此处是 4)。
结构体中 #pragma pack(1) //设置默认对⻬数为1---"后无' ;'结尾"
enum State {
IDLE,
RUNNING,
PAUSED,
STOPPED
};
malloc(100)默认开辟100个字节大小的空间
fclose(pfile); // 关键!fclose( )会:
// 1. 刷新缓冲区(将缓冲数据写入内核)
// 2. 关闭文件描述符
// 3. 释放FILE结构体
在此代码进行完毕之后才可以打开目标文件进行查看
int fputc(int character,FILE* stream)
例子:
fputc('a',pfile);
int fgetc(FILE* stream)
例子:
int ch = fgetc(pfile);
printf("%c",ch);
char* fgets(char* str,int num,FILE* stream)
返回的是str的起始地址 代表将stream指向的文件中的内容转化为字符串存储
注意:num的值将自动补齐的'\0'也计算进去了 也就是说只能读取num-1个字符到str中。
例子:
fgets(arr,10,pfile);
fwrite : 写入数据
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
⦁ ptr: 指向要写入数据的指针
⦁ size: 每个数据项的字节大小
⦁ count: 要写入的数据项数量
⦁ stream: 文件指针
⦁ 返回值: 成功写入的数据项数量
fwrite( buf , sizeof(int) , 4 , pf )
fread : 读取数据(顺序与写入时的顺序一致
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
⦁ ptr: 指向存储数据的内存指针
⦁ size: 每个数据项的字节大小
⦁ count: 要读取的数据项数量
⦁ stream: 文件指针
⦁ 返回值: 成功读取的数据项数量
fread( buf ,sizeof(int),4,pf );
rewind(stream* pfile );
//将指针返回到文件头
#define MAX 999
#define SQUARE(x) ((x)*(x))
int main( )
{
printf("file:%s line: %d time:%s\n",FILE ,LINE ,TIME );
printf("%d\n", MAX);
printf("%d", SQUARE(MAX));
return 0;
}
//"FILE"等称为预定义符号