C++字符串操作二

#include <iostream>
#include <assert.h>
using namespace std;
//模拟实现strcmp函数。

bool my_strcmp(const char *str1,const char *str2)
{
    assert(str1!=NULL && str2!=NULL);
    const char *p = str1;
    const char *q = str2;
    while (*p != ‘\0‘ && *q != ‘\0‘ && *p == *q)
    {
        p++;
        q++;
    }
    return (*p - *q)!=0;
}
int main()
{
    cout << my_strcmp("liwu", "liu") << endl;
    return 0;
}

#include <iostream>
#include <assert.h>
using namespace std;
//库函数memcopy的实现。
char *my_memcopy(char *dist, const char *src, int len)
{
    assert(dist != NULL && src != NULL);
    char *p = dist;
    int n = len>(strlen(src)+1) ?

strlen(src)+1 : len;
    while (n-->0)
    {
        *dist++ = *src++;
    }
    return p;
}
int main()
{
    char s1[20] = "1234";
    my_memcopy(s1,"liuhuiyan",2);
    cout << s1 << endl;
}

#include <iostream>
#include <assert.h>
using namespace std;
char* my_memove(char *dist,const char* src,int len)
{
    assert(dist!=NULL && src!=NULL);
    char *p = dist;
    const char *q = src;

    int n = len>(strlen(src) + 1) ? strlen(src) + 1 : len;
    if (p <= q || q+n<=p)
    {
        while (n-- > 0)
        {
            *p++ = *q++;
        }
    }
    else
    {
        p += n-1;
        q += n-1;
        while (n-- > 0)
        {
            *p-- = *q--;
        }
    }
    return dist;
}
int main()
{
    char s1[] = "liu hui yan";
    char s2[] = "123 456";
    cout << my_memove(s1, s2, 6) << endl;
    return 0;
}

#include <iostream>
using namespace std;
//一个字符串“student a am i”,现要求将这个字符串改动为“i am a student”。
void exchange(char *p1,char *p2)
{
    char temp;
    while (p1 < p2)
    {
        temp = *p1;
        *p1 = *p2;
        *p2 = temp;
        p1++;
        p2--;
    }
}
char* my_exchange(char *src)
{
    char *p = src;
    char *q = src;
    while (*p != ‘\0‘)
    {
        while (*p != ‘ ‘ && *p!=‘\0‘)
        {
            p++;
        }
        exchange(q,p-1);
        if (*p == ‘\0‘)break;
        p++;
        q = p;
    }
    exchange(src,p-1);
    return src;
}
int main()
{
    char s[] = "student a am i";
    cout << my_exchange(s) << endl;
}

//字符串打印数字。
#include <iostream>
#include <assert.h>
using namespace std;
int my_int(const char *str)
{
    assert(str!=NULL);
    int count = 0;
    while (*str != ‘\0‘)
    {
        count = (count * 10 + *str - ‘0‘);
        str++;
    }
    return count;
}
int main()
{
    char s[] = "12345";
    cout << my_int(s) << endl;
    return 0;
}
#include <iostream>
using namespace std;
char str[] = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘ };
//输入数字1234,打印对应的字符串。

void Printf(int x)
{

    if (x==0)return;
    else
    {
        Printf(x / 10);
        cout << str[x % 10] << endl;
    }

}
int main()
{
    Printf(1234);
    return 0;
}
时间: 2024-08-01 20:59:17

C++字符串操作二的相关文章

python 字符串操作二 内建函数

一.查看字符串的内建函数 >>> dir(str) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__',

Python的语言基础总结(二)之循环与字符串操作

一.循环和分支 1. 条件分支语句 if 条件: 代码块 else: 代码块 2. 循环语句之while 思考1:求1+2+3+....+10的值 sum = 0 num = 1 while num < 101: sum += num num += 1 print(sum) for 循环 for 语句: 代码块 二.字符串操作 1.字符串的拼接 使用加号进行链接 #字符串的链接,通过"+"进行链接 s1 = 'welcome' s2 = 'to guangzhou' print(

python【二】python的字符串操作

python的字符串操作很灵活:先来看一个例子: str='helloworld' 首先我们输出这个字符串: print  str这是一种表示方法,还有很多表示的方法: 比如: print  str[0:10] 我们也能得到 helloworld print str[1:3] 我们得到:el,截取字符串的el两个字符: 截取字符串的前提条件: 是这样的我们如果要截取某段字符,首先要查找到这段字符的起始位置,然后才能正确截取:在python中提供了字符串查找的方法,这个跟c语言里面的字符查找很相似

C语言字符串操作总结大全(超详细)

1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1

linux shell 字符串操作(长度,查找,替换)详解

原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同     ${var-DEFAULT}

数据库字符串操作

select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了.left()是sql函数.select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据.字符串和表达式执行不同的运算.此类函数作用于CHAR.VARCHAR. BINARY. 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类

JavaScript中的字符串操作

JavaScript中的字符串操作 一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更多....JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等.    当前的大部分浏览器也能从强大的正则表达式获益,因为它极大地简化了大量的字符串操作任务,不过它也需要你克服一条有些陡峭的学习曲线.在这里,主要是介绍字符串本身的一些操作,正

linux shell 字符串操作

转:http://justcoding.iteye.com/blog/1963463 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var}变量var的值, 与$var相同 ${var-DEFAULT}如果var没有被声明, 那么就以$DEFAULT作为其值 *

linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$