版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26822029/article/details/81095928
stdio.h
编号 | 函数原型 | 函数使用说明 | 备注 |
1 | size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); | 向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。 | 写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。 |
2 | int fseek(FILE *stream, long offset, int fromwhere); | 如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置,函数返回0。 | 文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。 |
cstring
编号 | 函数原型 | 函数使用说明 | 备注 |
1 | void *memset(void *s, char ch, size_t n); | 将内存中以指针s开始的后面n个字节填充为ch,并返回s | 该函数同样存在头文件<memory.h>或<string.h> |
string.h
编号 | 函数原型 | 函数使用说明 | 备注 |
1 | char *strcpy(char* dest, const char *src); | 把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 | 1.该函数同样存在头文件<string.h> 2.src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 |
stdlib.h
编号 | 函数原型 | 函数使用说明 | 备注 |
1 | void *malloc(size_t size); | 向内存申请分配大小为size的连续内存,如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL. | void *指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据。因此在调用malloc时要显式地进行类型转换,将void * 转换成所需要的指针类型。 |
2 | int atoi(const char *nptr) | 把字符串转换成整形的函数。 | 这个函数同样在cstdlib头文件中 |
3 | char *itoa(int value, char *string, int radix) | 把整数转换成字符串的函数。 如char buf[255]; itoa(1234, buf, 10); |
三个参数依次为:被转换的整数、转换后存储的字符数组和转换的进制数。 |
assert.h
编号 | 函数原型 | 函数使用说明 | 备注 |
1 | void assert(int expression) | 如果条件返回错误(false),则终止程序,打印相应错误信息。 | 一般用于在函数开始处检验参数的合法性。 |
特别的,在调试结束后,可以通过在包含#include <assert.h>的语句之前插入 #define NDEBUG 来禁用assert调用,示例代码如下:
#include <stdio.h>
#define NDEBUG
#include <assert.h>