C语言没有专门用于储存字符串
的变量类型,字符串
都被储存在char
类型的数组
中。
C中的字符串
一定以空字符\0
结束,这意味着数组
的容量必须至少比存储字符串
的字符数
多1
。
序号 | 转换说明 | 输出 |
---|---|---|
1 | %c | 单个字符 |
2 | %d ,%i | 有符号十进制 整数 |
3 | %u | 无符号十进制 整数 |
4 | %e ,%E | 浮点数,e 记数法 |
5 | %f | 浮点数,十进制记数法 |
6 | %o | 无符号八进制 整数 |
7 | %p | 指针 |
8 | %s | 字符串 |
9 | %x ,%X | 无符号十六进制 整数 |
10 | %% | 打印一个% |
<string.h>
文件提供了一些分析
和操控字符串
的函数,其中一些函数以更通用
的方式处理内存
。
序号 | 原型 | 描述 |
---|---|---|
1 | int memcmp (const void * buf1 , const void * buf2 , unsigned int n ) | 比较内存区域 的buf1 和buf2 的前n个字节 |
2 | void *memcpy (void *dest , const void src , unsigned int n ) | 从源src 内存拷贝n个字节 到目标dest 内存 |
3 | int *memset (void *s , int ch , unsigned int n ) | 将s 中当前位置后面的n个字节 用ch 替换并返回s |
4 | char *strcat (char *dest , const char *src ) | 把src (包括\0 )复制到dest 后面(删除 dest 原来末尾的\0 ) |
5 | char *strncat (char *dest , const char *src , unsigned int n ) | 把src 的前n个字符 添加到dest 的结尾处 并覆盖 dest 结尾的\0 |
6 | char *strcpy (char *dest , const char *src ) | 把src 开始且含有\0 的字符串复制到dest ,返回dest |
7 | char *strncpy (char *dest , const char *src , unsigned int n ) | 把src 字符串复制n个字节 到dest ,返回dest |
8 | int strcmp (const char *str1 , const char *str2 ) | 若str1 = str2 ,则返回零 若 str1 < str2 ,则返回负数 若 str1 > str2 ,则返回正数 |
9 | char *strchr (const char *str , char c ) | 查找 字符串str 中首次 出现字符c 的指针 ,否则返回NULL |
10 | char *strrchr (const char *str , char c ) | 查找 字符串str 中右边首次 出现字符c 的指针 ,否则返回NULL |
11 | char *strstr (char *str1 , const char *str2 ) | 如果str2 是str1 的子串 ,返回str2首次出现 的指针 ,否则返回NULL |
12 | int strlen (const char *str1 ) | 计算字符串 的长度 |
<stdio.h>
文件:
序号 | 原型 | 描述 |
---|---|---|
1 | int sprintf (char *string , char *format [, argument , ... ] ) | 字符串格式输出 把格式化的数据写入某个字符串中 |