【杂项】C语言函数总结

记录一些CTF题里出现的C语言函数特性

read函数

原型

1
2
3
#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);

输入特性

read函数里count变量的值若设置为n,则:

若 n 为 0 ,则不会有字符输入至内存里,用\n\x00来结束输入即可
若输入的字符串个数为n - 1个,结尾字符会被存入内存中,如\n\x00
若输入的字符串个数大于或等于n个,前n个字符会被存入内存,但结尾字符则不会

fgets函数

原型

1
2
3
#include <stdio.h>

char *fgets(char *s, int size, FILE *stream);

输入特性

fgets函数里size变量的值若设置为n,则:

若 n 为 0 ,则不会有字符输入至内存里,只能用\n来结束输入
若输入的字符串个数为n - 1个,结尾字符\n会被存入内存中
若输入的字符串个数大于或等于n个,前n个字符会被存入内存,但结尾字符则不会

文章目录
  1. 1. read函数
    1. 1.1. 原型
    2. 1.2. 输入特性
  2. 2. fgets函数
    1. 2.1. 原型
  3. 3. 输入特性
|