字符串比较和复制函数
来源:互联网 发布:搜狐微博 知乎 编辑:程序博客网 时间:2024/06/11 06:21
1.strcmp函数
strcmp函数用于比较两个字符串的大小,返回比较的结果。
函数原型:extern int strcmp(const char *s1,const char *s2);
头文件#include<cstring> 或者#include<string.h>
说明:当s1<s2时,返回负值;当s1=s2时,返回0;当s1>s2时,返回正值。即:两个字符串自左向右逐个字符比较(按ASCII值大小比较),直到出现不同的字符或者遇到'\0'为止。
strcmp函数只能用于比较字符串,不能用于比较数字等其他形式的参数。
简单的实例
#include<iostream>
using namespace std;
int main()
{
char s1[20],s2[20];
while(cin>>s1>>s2)
{
if(strcmp(s1,s2)==0)
cout<<"相等"<<endl;
else if(strcmp(s1,s2)<0)
cout<<"小于"<<endl;
else
cout<<"大于"<<endl;
}
return 0;
}
应当注意的是:字符串是数组类型而非基本数据类型,不能用关系运算进行大小比较。
if("ABC">"DEF") /*错误的字符串比较方法*/
if(strcmp("ABC","DEF")) /*正确的字符串比较*/
2.strcpy函数
原型声明:extern char* strcpy(char *dest,const char *src);
头文件:#include<string>或者#include<string.h>
用法:把从src地址开始并含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,返回指向dest的指针。
附加说明:当形式为strcpy(s1,s2); 意为:把s2中的内容连同字符串结束符一起复制到s1;s1必须为字符串变量,而不能是字符串常量。复制后s2保持不变。
注意:字符串是数组类型,两个字符串复制不能通过赋值运算进行。
t=s; /*错误的字符串复制*/
strcpy(t,s); /*正确的字符串复制*/
实例
#include<iostream>
using namespace std;
int main()
{
char s1[20],s2[20];
while(cin>>s1>>s2)
{
cout<<s1<<endl;
cout<<s2<<endl;
strcpy(s1,s2);
cout<<s1<<endl;
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
char s1[20]="abcd",s2[20];
cout<<s1<<endl;
strcpy(s2,s1); //用s1为s2初始化赋值
cout<<s1<<endl;
return 0;
}
- 字符串比较和复制函数
- 字符串比较和复制(函数实现)
- 字符串复制和比较函数的实现
- 字符串的连接、复制、求长度、比较函数。
- C语言字符串复制和链接函数
- C标准库函数-字符串复制和字节复制函数
- PHP中的字符串格式化输出函数和字符串比较函数
- 字符串和内存数据比较函数
- C的内存和字符串比较函数
- strcmp和memcmp两个字符串比较函数
- 字符串复制\比较\连接问题
- 编写字符串复制函数
- 字符串复制函数
- C++ 字符串复制函数
- 字符串复制函数
- 字符串复制函数
- 字符串复制函数
- 字符串之复制函数
- UVA - 156 Ananagrams
- 蛋哥的学习笔记之-基于Unity的Shader编程:0-2 基本3D图形渲染管线概述
- 【链表】链表上的绝技
- 嵌入式入门-liunx-shell基础语法
- POJ 3525 Most Distant Point from the Sea 半平面交+二分
- 字符串比较和复制函数
- hdu 2594 java实现字符串KMP算法
- UVaOJ 489 - Hangman Judge
- Flatten Binary Tree to Linked List
- 【美萍超市管理系统】汉码盘点机无缝对接 金蝶盘点机条码数据采集器智能终端PDA
- 非洲小孩
- Number of 1 Bits--LeetCode
- Python对象类型
- 将双向链表转化为二叉堆并有序输出