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"等称为预定义符号

相关推荐
nanxun88630 分钟前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103513 小时前
Day01 | Java 基础(Java SE)
java
行者全栈架构师5 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师9 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_09 小时前
mac(m5)平台编译openjdk
java
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java