字符串相关函数-strcpy()与strcmp()

一些小问题,避免出现低级错误。

1、strcmp(s1,s2):

字符串指针不见‘\0‘不回头,这个常在与单个字符作比较时写着写着就忘了.

char* p_ch1="this is an example!";
char* p_ch2="h";
printf("%d ",strcmp(p_ch1+1,p_ch2);
printf("%d ",strncmp(p_ch1+1,p_ch2,1));//若想比较"this is an example!"中第二个字符和"h"的关系,要用strncmp

参数是 const char* 型,因此 " " 与 ‘ ‘的区别要清楚,后者在strcmp语境下看做int。 " "的一定是个指针,‘ ‘看情况,可以看做数字ASCII码或字符,所以在C++的string::iterator中,判断 *it 用  ‘ ‘。

char *p_ch = "hehenmb";
strncmp(p_ch,‘h‘,1);       //error
strncmp(p_ch,"h",1);      

2、strcpy(s1,s2):

将s2全部拷入s1‘‘(不考虑内存),是在s1指针指向的位置处进行粘贴,s1处以及原来的s1后面的数据都消失,变成s2的内容。

下面是一个单词单数变复数的简单例子:

规定-y变成-ies,-ch/-sh变成-ches/-shes,其他都在原单词末尾+s。

char* WordTrans(char* ch){
    if(!strcmp(ch,"y")){
        strcpy(ch,"ies");
        return ch;
    }
    if(!strcmp(ch,"h")){
        if(!strncmp(ch-1,"c" || !strncmp(ch-1,"s"))){   //这个写法中,在比较ch-1时是单个比较
            strcpy(ch+1,"es");
            return ch;
        }
        else{
            strcpy(ch+1,"s");
            return ch;
        }
    }
    else{
        strcpy(ch+1,"s")
        return ch;
    }
}
int main(){
    char word[256];
    scanf("%s",word);
    char* p_ch=word;
    WordCmp(p_ch+strlen(word)-1);
    printf("%s\n",word);
    return 0;
}

先这样了,以后再补。

时间: 2024-07-31 14:22:02

字符串相关函数-strcpy()与strcmp()的相关文章

转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 作者:jcsu C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中的元音字符个数8. 判断一个字符串是否是回文1. 写一个函数实现字符串反转 版本1 - while版 void strRev(char *s){    

C字符串——库函数系列(strlen、strcat、strcpy、strcmp)

一定义: 字符串:字符串是由零个或者多个字符组成的有限串行: 子串:字符串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,字符串本身也是子串之一:“abcdefg”,”abc“就是其子串,但是“ade”不属于子串范围. 子序列:不要求字符连续,但是其顺序与其在主串中相一致:上例中,“abc”与“ade”都属于子序列范围: 二:C风格字符串包括两种: 1)字符串常量---以双引号括起来的字符序列,编译器自动在其末尾添加一个空字符. 2)末尾添加了’0‘的字符数组: char ch1[]=

黑马程序员---C基础9【字符串的输入输出】【字符串相关函数】【指针】【指针变量初始】【二级指针】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [字符串的输入输出] 1.字符串输出: %s-------从给定的地址开始输出字符直到遇到\0停止: printf("%s\n",&a[3]);  printf("%s\n",a); char a[]="hellowo\0rd!"; 2.字符串输入: 从键盘上接收一个字符串,保存在以a为首地址的字符数组中 scanf("%s&

字符串相关函数整理

string.h 中字符串相关函数 按功能分类: 字符串连接: strcat : char* strcat(char* destination, const char* source); strncat : char* strcat(char* destination, const char* source, size_t num); cat 意思是catenate.连接的意思. strncp 是strcat的安全版本号.能够防止越界. 从定义上能够看出带是将const的字符串连接到不带cons

基本字符串相关函数,基本宏,内存相关函数,类型转换函数实现合集

1.常用宏或函数的实现_T,_L宏:#define unsigned short L#define _T(x)       __T(x)#define _TEXT(x)    __T(x) #ifdef  _UNICODE#define __T(x) L##x     #else#define __T(x) x          #endif #define _L(x) L##x assert宏实现:#define assert(expr)do{    if (!(expr))    {    

c语言:两种方法实现字符串拷贝strcpy

实现字符串拷贝strcpy 方法一: // 字符串拷贝函数的实现 #include<stdio.h> #include<assert.h> void my_strcpy(char *dest,  char *src)//src表示source源,dest目标 { assert(dest!=NULL); assert(src); char *ret = dest; while (*dest++ = *src++) { ; } return dest; } int main() { c

3.mysql的中文问题,database级操作,表级操作,数据CRUD,分组操作,时间和日期,字符串相关函数,表的约束

 1 连接MYSQL服务器:mysql–uroot –p123456 查看中文问题 show variables like 'character%'; 2 修改mysql的字符集,退出mysql提示符界面: mysql -uroot -p--default_character_set=gbk; 3  数据库的操作:创建,查看,修改,删除 *创建: 创建一个名称为mydb1的数据库. createdatabase mydb1; 创建一个使用utf-8字符集的mydb2数据库. create d

字符串处理strcpy strcat函数的用法

C语言函数字符串处理strcpy strcat函数的用法: 1)strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' 2) strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间注意str

python字符串相关函数 *title *upper *lower *swapcase *len *count *find *index *starts with *endswith *isalpha *isdecimal *split *center *strip *replace

# ### 字符串相关函数 (函数就是方法的意思,完成某个功能)""" 语法: 字符串.函数 """ #*capitalize 字符串首字母大写 strvar = "this is my world"res = strvar.capitalize()print(res) # *title 每个单词的首字母大写 (非字母类的就可以让后面字符大写)# strvar = "this is my world"str