fgets
- 描述
C 库函数char *fgets(char *str, int n, FILE *stream)
从指定的流stream
读取一行,并把它存储在 str 所指向的字符串内。当读取(n-1)
个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。 - 参数
str
指向一个字符数组的指针,该数组存储了要读取的字符串。
n
要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。
stream
指向 FILE 对象的指针,该 FILE 对象标识了要从中读取字符的流。 - 返回值
如果成功,该函数返回相同的str
参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针。
如果发生错误,返回一个空指针。
strstr
- 描述
C 库函数char *strstr(const char *haystack, const char *needle)
在字符串haystack
中查找第一次出现字符串needle
的位置,不包含终止符'\0'
。 - 参数
haystack
要被检索的 C 字符串。
needle
在 haystack 字符串内要搜索的小字符串。 - 返回值
该函数返回在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返回 null。
strcat
- 描述
C 库函数char *strcat(char *dest, const char *src)
把src
所指向的字符串追加到dest
所指向的字符串的结尾 - 参数
dest
指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
src
指向要追加的字符串,该字符串不会覆盖目标字符串。 - 返回值
该函数返回一个指向最终的目标字符串 dest 的指针
strncmp
- 描述
int strncmp(const char *str1, const char *str2, size_t n)
把str1
和str2
进行比较,最多比较前n
个字节。 - 参数
str1
要进行比较的第一个字符串。
str2
要进行比较的第二个字符串。
n
要比较的最大字符数。 - 返回值
该函数返回值如下:
1. 如果返回值 < 0,则表示 str1 小于 str2。
2. 如果返回值 > 0,则表示 str2 小于 str1。
3. 如果返回值 = 0,则表示 str1 等于 str2。
strncpy
- 描述
char *strncpy(char *dest, const char *src, size_t n)
把src
所指向的字符串复制到dest
,最多复制n
个字符。当src
的长度小于n
时,dest
的剩余部分将用空字节填充。 - 参数
dest
指向用于存储复制内容的目标数组。
src
要复制的字符串。
n
要从源中复制的字符数。 - 返回值
该函数返回最终复制的字符串。
snprintf
- 描述
int snprintf(char *str, size_t size, const char *format, ...)
设将可变参数(...)
按照format
格式化成字符串,并将字符串复制到str
中,size
为要写入的字符的最大数目,超过size
会被截断。 - 参数
str
目标字符串。
size
拷贝字节数(Bytes)。
format
格式化成字符串。
...
可变参数。 - 返回值
1. 如果格式化后的字符串长度小于等于size
,则会把字符串全部复制到str
中,并给其后添加一个字符串结束符\0
;
2. 如果格式化后的字符串长度大于size
,超过size
的部分会被截断,只将其中的(size-1)
个字符复制到str
中,并给其后添加一个字符串结束符\0
,返回值为欲写入的字符串长度。