C中 memset enum malloc fputc fgetc fgets fread fwrite rewind指针回退

前言:回顾在学习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"等称为预定义符号

相关推荐
NE_STOP32 分钟前
Spring AI Alibaba - MCP入门
java
nice_lcj52035 分钟前
【从零理解 Spring AI · 07】对话记忆:让模型记住上一句说了什么
java·spring ai·ai应用开发·chatmemory·对话记忆
kobe_OKOK_1 小时前
mysql 开启 binlog 日志
数据库·mysql
Zwawa1 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
Fruiticecake1 小时前
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针
c语言·c++
鸽芷咕1 小时前
KingbaseES 调参先看执行计划,参数是答案不是起点
数据库
田甲2 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
SL_staff2 小时前
制造业交付崩盘?用跨部门节点协同计划打通销售、生产与质量链路
java·开源·产品
这个DBA有点耶2 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范
文丑颜不良啊2 小时前
LeetCode2261~2280题目解析
java·leetcode