字符串的相关操作

// demo3.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <cassert>
#include <iostream>
using namespace std;

int str_len(const char *str)
{
    const char *temp=str;
    assert(str!=NULL);
    while(*str++!=‘\0‘);    //这种求字符串的算法很高效
    return(str-temp-1);
}

int str_str_find(const char *src,const char *sub)
{
    const char *bp;
    const char *sp;
    const char *temp=src;
    if (src==NULL||sub==NULL)
    {
        return 0;
    }
    while(*src)
    {
        bp=src;
        sp=sub;
        do
        {
            if (!*sp)
            {
                return src-temp+1;
            }
        } while (*bp++==*sp++);
        src+=1;
    }
    return 0;        //找不到字符串
}

int _tmain(int argc, _TCHAR* argv[])
{
    char a[]="helloworld";
    char b[]="lhho";
    int m=str_str_find(a,b);
    cout<<m<<endl;
    return 0;
}

 

1.2 回文判断

#include "stdafx.h"
#include <cassert>
#include <iostream>
using namespace std;

bool isRevStr(const char *str)        //回文字符串判断
{
    const char *start=str;    //头指针
    const char *end=NULL;    //尾指针
    assert(str!=NULL);
    while(*++str!=‘\0‘);
    int len=str-start;    //字符串长度
    end=str-1;                //指向尾指针

    //注意下面的代码和上面的不同之处
    /*while(*str++!=‘\0‘);
    int len=str-start-1;    //字符串长度  上面没有-1
    end=str-2;                //指向尾指针   -2不是-1
    */

    for (int i=0;i<len/2;i++)
    {
        if (*start++!=*end--)
        {
            return false;
        }
    }
    return true;
}

int _tmain(int argc, _TCHAR* argv[])
{
    const char a[]="wangnaw";
    if (isRevStr(a))
    {
        cout<<"yes"<<endl;
    }
    else
        cout<<"no"<<endl;
    return 0;
}
时间: 2024-12-07 02:28:55

字符串的相关操作的相关文章

JS中字符串的相关操作

(转自:http://www.cnblogs.com/zhaoxinxin/articles/1402733.html) 一.字符串的创建 创建一个字符串有几种方法. 最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量. var myStr = "Hello, String!"; 可以用双引号或单引号将字符串包含,但要注意,作为界定字符串的一对引号必须是相同的,不能混用. 像var myString = "Fluffy is a pretty cat.'; 这样

Python中的字符串及其相关操作

1.表示: 字符串可以用单引号或者双引号括起来,两者效果是完全一样的. 针对较长的字符串,也可以用三个引号括起来,即"""..."""或者'''...'''.引号里面再用与之不同类型的引号会被当做是普通字符,不会报错,如    '"Yes," he said.',或"doesn't". 2.换行: 字符串可以跨多行.一种方法是使用三引号:"""...""&q

数组与字符串的相关操作

数组 检测数组: function typeof( obj ) { if(typeof Array.isArray === "function"){ return Array.isArray(obj) }else{ return Object.prototype.toString.call ( obj ) === "[object ,Array]"; } 数组合并: arr.concat (arr1,arr2); 数组拷贝: arr.slice(0); arr.co

Python字符串的相关操作

1.大小写转换 判断字符串 1 2 3 4 5 6 7 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字符都是小写 s.isupper() #所有字符都是大写 s.istitle() #所有单词都是首字母大写,像标题 s.isspace() #所有字符都是空白字符.\t.\n 大小写转换 1 2 3 4 s.upper() #把所有字符中的小写字母转换成大写字母 s.low

python字符串格式化输出及相关操作代码举例

字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法. 在python中格式化输出字符串通用的形式为: 格式标记字符串 % 要输出的值组 其中,左边部分的"格式标记字符串"可以完全和c中的一致.右边的"值组"如果有两个及以上的值则需要用小括号括起来,中间用逗号隔开. 重点来看左

python基础===【字符串】所有相关操作

#字符串的相关操作 #基本操作 #+ 字符串连接操作 str1 = '来是come走是go' str2 = '点头yes摇头no' result = str1 + str2 print(result) #* 字符串复制操作 str1 = '天地不仁以万物为刍狗' result = str1 * 3 print(result) #[] 索引操作 str1 = '柳暗花明又一村' print(str1[1]) print(str1[-2]) #[::]取片操作 str1 = '山重水复疑无路' #获

数据结构-字符串的统计相关操作

统计字符串的相关操作 统计字符出现次数 /*统计串S中字符的种类和个数*/ #include<cstring> #include<iostream> using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; #define MAXSTRLEN 255 //用户可在255以内定义最长串长 //typedef char SString[MAXSTRLEN+1]; /

DateTimeHelper【日期类型与字符串互转以及日期对比相关操作】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 实现日期和字符串之间的转换以及日期的相关操作: 1.日期格式的字符串输出为Date类型: 2.将Date类型以指定格式输出: 3.将日期格式的字符串以指定格式输出: 4.将时间戳转化为固定格式的日期字符串 : 5.将时间戳转化为指定格式日期的字符串: 6.当前时间提前一个月: 7.当前时间延后一个月: ...... 效果图 暂不需要 代码分析 注意:new SimpleDateFormat的构造函数中必须含有Locale.CHINA或者

OJ中字符串输入及相关操作

1.     输入数据方式 cin>>a>>b; char a[10]; cin.getline(a,5); char a,b,c; cin.get(a);cin.get(b);cin.get(c); 输入: AB CD 那么a的值为'A',b的值为'B',c的值为'\n\ getline(istream &in, string &s) 在头文件<iostream>中声明了getline函数: istream::getline istream&g