snprintf:
int snprintf(char* dest_str,size_t size,const char* format,...);
- (1) 如果格式化后的字符串长度小于等于 size,则会把字符串全部复制到 str 中,并给其后添加一个字符串结束符 \0;
- (2) 如果格式化后的字符串长度大于 size,超过 size 的部分会被截断,只将其中的 (size-1) 个字符复制到 str 中,并给其后添加一个字符串结束符 \0,返回值为欲写入的字符串长度。
char buffer[50];
char* s = "runoobcom";
// 读取字符串并存储在 buffer 中
int j = snprintf(buffer, 6, "%s\n", s);
// 输出 buffer及字符数
printf("string:\n%s\ncharacter count = %d\n", buffer, j);
string:
runoo
character count = 10
strstr():
char *strstr(const char *haystack, const char *needle)
该函数返回在 haystack 中第一次出现 needle 字符串的位置(指针类型),如果未找到则返回 null。
strncpy()
char *strncpy(char *dest, const char *src, size_t n)
C 库函数 char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。
sizeof()
单位为字节数
https://blog.youkuaiyun.com/u013812502/article/details/81198452
atoi()
C 库函数 int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
int atoi(const char *str)
memset()
void *memset(void *str, int c, size_t n)
C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
char str[50]; strcpy(str,"This is string.h library function"); puts(str); memset(str,'$',7); puts(str);
This is string.h library function
$$$$$$$ string.h library function
memcpy()
void *memcpy(void *str1, const void *str2, size_t n)
C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。
char src[] = "***"; char dest[] = "abcdefg"; printf("使用 memcpy 前: %s\n", dest); memcpy(dest, src, strlen(src)); printf("使用 memcpy 后: %s\n", dest);
使用 memcpy 前: abcdefg
使用 memcpy 后: ***defg
strcat()
#include <stdio.h> #include <string.h> int main(){ char str1[101] = { 0 }; char str2[50] = { 0 }; gets(str1); gets(str2); strcat(str1, str2); puts(str1); return 0; }