常用字符串处理函数大全
2017-01-18 23:27
225 查看
1. getchar和putchar(字符输入输出操作)
getchar获取输入字符函数,putchar输出字符函数。一般使用形式如下:
char c;
c = getchar();// 获取终端输入字符
putchar(c);// 将字符输出到终端
eg:
2. gets和puts(字符串输入输出操作)
gets字符串输入,puts字符串输出。
eg:
3. strcpy和strncpy(字符串复制操作)
strcpy和strncpy都是字符串的复制函数,使用语法:
strcpy(str1,str2),强字符串str2复制到str1中,需要保证str1的有效内存空间能够存下str2的内存,
如果str2超过str1的有效内存,将会覆盖外部内存空间,可能出现不可预知的后果,所以,strcpy不是安全函数。
strncpy(str1,str2, n),将str2的前n个字符复制到st1中前n位,即将str2中的前n位覆盖掉str1中的前n位,也不是安全函数。
注意: 在字符串复制时,一般建议使用strncpy(str1,str2,n)函数。
eg:
4. strcat和strncat(字符串拼接操作)
strcat和strncat均为字符串拼接语句。
strcat(str1,str2),将str2拼接在str1之后,
strcat(str1,str2,n),将str2的前n个字符拼接到str1后。
eg:
5. strcmp和strncmp(字符串比较操作)
strcmp和strncmp为字符串比较函数。字符串之间的比较不能通过关系运算符进行操作。
比如: str1 > str2,如果这样比较,就是比较字符串str1和str2的首地址,不能这样进行比较。
而应该使用strcmp(str1,str2)或strncmp进行比较,其中strncmp(str1,str2,n)比较str1,str2的前n个字符。
字符串通过每一个字符的ASCII码值进行大小比较,字符串中所有对应字符的ASCII相等,则两个字符串
相等,否则不相等。
eg:
6.strupr和strlwr(字符串大小写转换操作)
strupr字母小写转大写,
strlwr字母大写转小写。
getchar获取输入字符函数,putchar输出字符函数。一般使用形式如下:
char c;
c = getchar();// 获取终端输入字符
putchar(c);// 将字符输出到终端
eg:
#include <stdio.h> int main(void) { char c;/* 定义字符变量c */ printf("请输入字符:\n"); c = getchar();/* 获取输入字符 */ putchar(c);/* 输出字符 */ return 0; }
2. gets和puts(字符串输入输出操作)
gets字符串输入,puts字符串输出。
eg:
#include <stdio.h> #define SIZE 10 int main(void) { char str[SIZE]; printf("请输入字符串:\n"); gets(str);/* 获取输入字符串,将输入的字符串,存在一维数组str中 */ puts(str);/* 输出字符串 */ return 0; }程序运行后输入hello world,回车再调用puts输出字符串:
3. strcpy和strncpy(字符串复制操作)
strcpy和strncpy都是字符串的复制函数,使用语法:
strcpy(str1,str2),强字符串str2复制到str1中,需要保证str1的有效内存空间能够存下str2的内存,
如果str2超过str1的有效内存,将会覆盖外部内存空间,可能出现不可预知的后果,所以,strcpy不是安全函数。
strncpy(str1,str2, n),将str2的前n个字符复制到st1中前n位,即将str2中的前n位覆盖掉str1中的前n位,也不是安全函数。
注意: 在字符串复制时,一般建议使用strncpy(str1,str2,n)函数。
eg:
#include <stdio.h> #include <string.h> int main(void) { char str1[] = "abc"; char str2[] = "defgh"; char str3[] = "hello"; char str4[] = "world"; strcpy(str1,str2);/* 将str2复制到str1中 */ printf("str1:%s\n",str1); strncpy(str3,str4,2);/* 将str4的前2位wo复制到str3中前两位字符空间 */ printf("str3:%s\n",str3);// wollo return 0; }
4. strcat和strncat(字符串拼接操作)
strcat和strncat均为字符串拼接语句。
strcat(str1,str2),将str2拼接在str1之后,
strcat(str1,str2,n),将str2的前n个字符拼接到str1后。
eg:
#include <stdio.h> #include <string.h> #define SIZE 20 int main(void) { char str1[SIZE] = "a\0a"; char str2[SIZE] = "bbb"; strcat(str1,str2); puts(str1);/* a+bbb=abbb,即str1=abbb */ strncat(str1,str2,2); puts(str1);/* str2=str1+bb=abbb+bb=abbbbb */ return 0; }
5. strcmp和strncmp(字符串比较操作)
strcmp和strncmp为字符串比较函数。字符串之间的比较不能通过关系运算符进行操作。
比如: str1 > str2,如果这样比较,就是比较字符串str1和str2的首地址,不能这样进行比较。
而应该使用strcmp(str1,str2)或strncmp进行比较,其中strncmp(str1,str2,n)比较str1,str2的前n个字符。
字符串通过每一个字符的ASCII码值进行大小比较,字符串中所有对应字符的ASCII相等,则两个字符串
相等,否则不相等。
eg:
#include <stdio.h> #include <string.h> int main(void) { char str1[] = "hello"; char str2[] = "hello world"; /* str1与str2不相等,返回1*/ printf("strcmp=%d\n",strcmp(str1,str2)); /* 字符串str1和str2的前5个字符分别为hello,进行比较相等,返回0 */ printf("strncmp=%d\n",strncmp(str1,str2,5)); return 0; }
6.strupr和strlwr(字符串大小写转换操作)
strupr字母小写转大写,
strlwr字母大写转小写。
#include <stdio.h> #include <string.h> int main(void) { char str1[] = "Hello World"; char str2[] = "HELLO WORLD"; puts(strupr(str1)); puts(strlwr(str1)); return 0; }
相关文章推荐
- sql中的常用的字符串处理函数大全
- C++常用字符串处理函数及使用示例(ASCII)
- C语言中常用的几个字符串处理函数:
- 几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
- C++常用字符串处理函数及使用示例
- JavaScript常用字符串处理函数
- SQL字符串处理函数大全
- SQL字符串处理函数大全 1
- 常用的字符串处理函数
- SQL Server字符串处理函数大全
- 几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
- C++常用字符串处理函数及使用示例
- SQL字符串处理函数大全
- SQL字符串处理函数大全
- PHP 中英文混合排版中处理字符串常用的函数
- Delphi中常用字符串处理函数
- SQL字符串处理函数大全
- SQL Server字符串处理函数大全
- C++常用字符串处理函数及使用示例
- C语言字符串处理的几个常用函数