字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
来源:互联网 发布:sql 最大行数 编辑:程序博客网 时间:2024/05/08 22:43
字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
字符串标准函数的原型在头文件string.h中。
1.输入字符串──gets()函数
(1)调用方式:gets(字符数组)
(2)函数功能:从标准输入设备(stdin)──键盘上,读取1个字符串(可以包含空格),并将其存储到字符数组中去。
(3)使用说明
1)gets()读取的字符串,其长度没有限制,编程者要保证字符数组有足够大的空间,存放输入的字符串。
2)该函数输入的字符串中允许包含空格,而scanf()函数不允许。
2.输出字符串──puts()函数
(1)调用方式:puts(字符数组)
(2)函数功能:把字符数组中所存放的字符串,输出到标准输出设备中去,并用‘\n’取代字符串的结束标志‘\0’。所以用puts()函数输出字符串时,不要求另加换行符。
( 3)使用说明
1)字符串中允许包含转义字符,输出时产生一个控制操作。
2)该函数一次只能输出一个字符串,而printf()函数也能用来输出字符串,且一次能输出多个。
3.字符串比较──strcmp()函数
(1)调用方式:strcmp(字符串1 ,字符串2)
其中“字符串”可以是串常量,也可以是1维字符数组。
(2)函数功能:比较两个字符串的大小。
如果:字符串1=字符串2,函数返回值等于0;
字符串1字符串2,函数返回值正整数。
(3)使用说明
1)如果一个字符串是另一个字符串从头开始的子串,则母串为大。
2)不能使用关系运算符“==”来比较两个字符串,只能用strcmp() 函数来处理。
[案例6.7] gets函数和strcmp函数的应用。
/*案例代码文件名:AL6_7.C*/
/*功能:简单密码检测程序*/
#include "stdio.h"
main()
{char pass_str[80]; /*定义字符数组passstr*/
int I=0;
/*检验密码*/
while(1)
{clrscr();
printf("请输入密码\n");
gets(pass_str); /*输入密码*/
if(strcmp(pass_str,“password”)!=0) /*口令错*/
printf("口令错误,按任意键继续");
else
break; /*输入正确的密码,中止循环*/
getch();
I++;
if(I==3) exit(0); /*输入三次错误的密码,退出程序*/
}
/*输入正确密码所进入的程序段*/
}
4.拷贝字符串──strcpy()函数
(1)调用方式:strcpy(字符数组, 字符串)
其中“字符串”可以是串常量,也可以是字符数组。
(2)函数功能:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。
(3)使用说明
1)字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制。
2)不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。
5.连接字符串──strcat()函数
(1)调用方式:strcat(字符数组, 字符串)
(2)函数功能:把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。
(3)使用说明
1)由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。
2)连接前两个字符串都有结束标志'\0',连接后“字符数组”中存储的字符串的结束标志'\0'被舍弃,只在目标串的最后保留一个'\0'。
6.求字符串长度──strlen()函数(len是length的缩写)
(1)调用方式:strlen(字符串)
(2)函数功能:求字符串(常量或字符数组)的实际长度(不包含结束标志)。
7.将字符串中大写字母转换成小写──strlwr()函数
(1)调用方式:strlwr(字符串)
(2)函数功能:将字符串中的大写字母转换成小写,其它字符(包括小写字母和非字母字符)不转换。
8.将字符串中小写字母转换成大写──strupr()函数
(1)调用方式:strupr(字符串)
(2)函数功能:将字符串中小写字母转换成大写,其它字符(包括大写字母和非字母字符)不转换。
C语言是通过函数来实现模块化程序设计的。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块。
1.输入字符串──gets()函数
(1)调用方式:gets(字符数组)
(2)函数功能:从标准输入设备(stdin)──键盘上,读取1个字符串(可以包含空格),并将其存储到字符数组中去。
(3)使用说明
1)gets()读取的字符串,其长度没有限制,编程者要保证字符数组有足够大的空间,存放输入的字符串。
2)该函数输入的字符串中允许包含空格,而scanf()函数不允许。
2.输出字符串──puts()函数
(1)调用方式:puts(字符数组)
(2)函数功能:把字符数组中所存放的字符串,输出到标准输出设备中去,并用‘\n’取代字符串的结束标志‘\0’。所以用puts()函数输出字符串时,不要求另加换行符。
( 3)使用说明
1)字符串中允许包含转义字符,输出时产生一个控制操作。
2)该函数一次只能输出一个字符串,而printf()函数也能用来输出字符串,且一次能输出多个。
3.字符串比较──strcmp()函数
(1)调用方式:strcmp(字符串1 ,字符串2)
其中“字符串”可以是串常量,也可以是1维字符数组。
(2)函数功能:比较两个字符串的大小。
如果:字符串1=字符串2,函数返回值等于0;
字符串1字符串2,函数返回值正整数。
(3)使用说明
1)如果一个字符串是另一个字符串从头开始的子串,则母串为大。
2)不能使用关系运算符“==”来比较两个字符串,只能用strcmp() 函数来处理。
[案例6.7] gets函数和strcmp函数的应用。
/*案例代码文件名:AL6_7.C*/
/*功能:简单密码检测程序*/
#include "stdio.h"
main()
{char pass_str[80]; /*定义字符数组passstr*/
int I=0;
/*检验密码*/
while(1)
{clrscr();
printf("请输入密码\n");
gets(pass_str); /*输入密码*/
if(strcmp(pass_str,“password”)!=0) /*口令错*/
printf("口令错误,按任意键继续");
else
break; /*输入正确的密码,中止循环*/
getch();
I++;
if(I==3) exit(0); /*输入三次错误的密码,退出程序*/
}
/*输入正确密码所进入的程序段*/
}
4.拷贝字符串──strcpy()函数
(1)调用方式:strcpy(字符数组, 字符串)
其中“字符串”可以是串常量,也可以是字符数组。
(2)函数功能:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。
(3)使用说明
1)字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制。
2)不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。
5.连接字符串──strcat()函数
(1)调用方式:strcat(字符数组, 字符串)
(2)函数功能:把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。
(3)使用说明
1)由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。
2)连接前两个字符串都有结束标志'\0',连接后“字符数组”中存储的字符串的结束标志'\0'被舍弃,只在目标串的最后保留一个'\0'。
6.求字符串长度──strlen()函数(len是length的缩写)
(1)调用方式:strlen(字符串)
(2)函数功能:求字符串(常量或字符数组)的实际长度(不包含结束标志)。
7.将字符串中大写字母转换成小写──strlwr()函数
(1)调用方式:strlwr(字符串)
(2)函数功能:将字符串中的大写字母转换成小写,其它字符(包括小写字母和非字母字符)不转换。
8.将字符串中小写字母转换成大写──strupr()函数
(1)调用方式:strupr(字符串)
(2)函数功能:将字符串中小写字母转换成大写,其它字符(包括大写字母和非字母字符)不转换。
C语言是通过函数来实现模块化程序设计的。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块。
0 0
- 字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
- 字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
- C语言字符串常用操作函数-puts、gets、strcmp、strcpy、strcat、strlen
- 字符串函数的使用...strcat...puts...gets...strlen...strcmp...strcpy
- C语言 getchar putchar gets puts sscanf sprintf strlen strcpy strcat strcmp函数列子
- C语言字符串函数详解 strcpy、strcmp、strcat、strlen、strstr
- 字符串处理函数strlen、strcpy、strcat、strcmp和convert的C语言实现
- 字符串处理函数strcat 、 strcpy 、 strlen、strcmp的源函数
- 编C语言程序:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和strlwr的功能
- 字符串处理函数(strlen, strcmp, strcat, strcpy)
- 深入理解字符串处理函数 strlen() strcpy() strcat() strcmp()
- C语言字符串操作----strlen()、strcpy()、strcat()、strcmp()
- C语言中strcpy,strcmp,strlen,strcat函数原型
- C语言中strcpy,strcmp,strlen,strcat函数原型
- C语言中strcpy,strcmp,strlen,strcat函数原型
- C语言中strcpy,strcmp,strlen,strcat函数原型 .
- C语言中strcpy,strcmp,strlen,strcat函数原型
- C语言中strcpy,strcmp,strlen,strcat函数原型
- HDU 2815 Mod Tree 解高次同余方程
- UIPickerView
- MFC分割窗口知识
- 九度OJ 1516 调整数组顺序使奇数位于偶数前面 -- 归并排序
- wubi安装ubuntu
- 字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
- 关于No Activity found to handle Intent的问题
- Go语言内存模型
- DBCC PAGE、DBCC LOG、DBCC EXTENTINFO、DBCC IND、DBCC SHOW_STATISTICS、DBCC SHOWCONTIG、DBCC SQLPERF
- 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
- Bootloader
- C和C++混合编程
- Java集合类
- android杀死进程