精华内容
下载资源
问答
  • 目录字符串比较字符串长度字符串拷贝字符串拼接 字符串比较 比较两个字符串指针:如果两个字符串相等,返回0 strcmp(区分大小写) //多字节 stricmp(不区分大小写) //多字节 wcscmp(区分大小写) //宽字节 wcsicmp...

    字符串比较

    比较两个字符串指针:如果两个字符串相等,返回0

    • strcmp(区分大小写) //多字节
    • stricmp(不区分大小写) //多字节
    • wcscmp(区分大小写) //宽字节
    • wcsicmp(不区分大小写) //宽字节
    • _tcscmp();(区分大小写) //多字节宽字节皆可
    • _tcsicmp();(不区分大小写) //多字节宽字节皆可
    • CString::Compare();(区分大小写)
    • CString::CompareNoCase();(不区分大小写)
    int wcscmp(
       const wchar_t *string1,
       const wchar_t *string2
    );
    
    int wcsicmp(
    	 const wchar_t * _Str1,
    	 const wchar_t * _Str2
    );
    

    字符串长度

    • strlen(); //获取多字节字符串长度,不包含 ‘/0’。
    • wcslen(); //获取宽字节字符串长度,不包含 ‘/0’。
    • _tcslen() //获取宽字节和多字节字符串长度,不包含 ‘/0’。
    • CString::GetLength();
    size_t wcslen(
       const wchar_t *str
    );
    

    字符串拷贝

    • strcpy(); //多字节字符串拷贝
    • wcscpy(); //宽字节字符串拷贝
    • _tcscpy(); //两者皆可字符串拷贝
    • CString::operator =
    wchar_t *wcscpy(
       wchar_t *strDestination,
       const wchar_t *strSource
    );
    

    字符串拼接

    • strcat(); //多字节字符串拼接
    • wcscat(); //宽字节字符串拼接
    • _tcscat(); //两者皆可字符串拼接
    • CString::operator +=
    wchar_t *wcscat(
       wchar_t *strDestination,
       const wchar_t *strSource
    );
    

    字符串转换

    USES_CONVERSION;//定义转换宏
    
    T2A:wchar_t->char
    A2T:char->wchar_t
    
    展开全文
  • 字符串长度的计算与字符串比较

    千次阅读 多人点赞 2016-01-11 17:56:55
    字符串长度的计算 (1)计算字符串长度时关键是要注意辨认转义字符;(2)一个转义字符总是以反斜杠开始,再加一个其他字符组成。所以,遇到反斜杠时要特别注意!!! 1、不带转义字符的字符串  如:“abc!x=/”,其...

    字符串长度的计算
    (1)计算字符串长度时关键是要注意辨认转义字符;(2)一个转义字符总是以反斜杠开始,再加一个其他字符组成。所以,遇到反斜杠时要特别注意!!!
    1、不带转义字符的字符串
      如:”abc!x=/”,其长度为 7
    2、带转义字符的字符串
      (1) 字符串”abc\n”:其中的’\n’为转义字符(换行符),计算字符串长度时只能计作一个字符,所以该字符串的长度为4(而不是5)
      (2) 字符串”abc\n\\\’\”“:其中有4个转义字符:’\n’(换行符)、’\\’(反斜杠)、’\”(单引号)、’\”’(双引号),所以该字符串的长度为7(而不是11)。
      (3) 字符串“abc\0xyz”:其中有一个转义字符’\0’,它是字符串结束符,所以,当用函数strlen来测试该字符串的长度时,结果应该为3(而不是7)。
      (4) 字符串“abc\\0xy”:其中有一个转义字符’\\’(反斜杠),这样,后面的字符串“0xy”照样计算,所以,该字符串的长度为7(而不是将第二个反斜杠与其后的0结合为一个转义字符’\0’,若那样的话,第一个反斜杠将无法处理,因为一个转义字符总是由反斜杠加其他字符组成的,单独的一个反斜杠不能作为任何合法的字符)。
      (5) 若将字符串“abc\\0xy”改为“abc\\\0xy”:则其中有二个转义字符’\’(反斜杠)和’\0’(字符串结束符),这时,当用函数strlen来测试该字符串的长度时,结果应该为4(而不是7)。
      (6) 若将字符串“abc\\\0xy”改为“abc\\\061xy”:则其中有二个转义字符’\’(反斜杠)和’\061’(ASCII码值等于061的字符,也即数字字符’1’),这时,当用函数strlen来测试该字符串的长度时,结果应该为7(而不是4或9)。所以,当遇到转义字符’\0’时,还要看其后面是否还有数字,若有,则应将后面的数字(一至二位)与前面的’\0’相结合作为一个字符计入整个字符串的长度。
       若用printf(“abc\\\061xy”);输出结果为:abc\1xy
      (7)printf(“\x69\082\n”);输出结果为:i
       sizeof(“\x69\082\n”)结果为6
    \x69为十六进制的69,十进制105对应字母i,而\0xx是八进制,但八进制只有数字0-7,\082显然不是。

    字符串的比较
    1. C中的char[]

    #include <string.h>
    
    char s1[10],s2[10]; 
    ... 
    if(strcmp(s1,s2)==0) 
        printf("两字符串相等\n");
    //string.h 头文件中就有比较函数,可以用来比较是否相等

    C语言中为什么两个字符串不能直接进行比较?
    有如下代码:

    char s1[] = "abc";
    char s2[] = "abc";
    
    //如果直接进行比较:
    if (s1 == s2)
    {
    printf("s1等于 s2");
    }
    else
    {
    printf("s1 不等于s2");
    }

    大家想想输出结果会是什么呢?

    输出结果永远为:s1 不等于 s2.(不论你换成char s1[] = “abc”; char s2[] = “def”; 还是char s1[] = “def”; char s2[] = “abc”;,输出结果都一样)。

    为什么呢?
    大家因为这样比较,其实是在把s1和s2当作指针来进行比较,而不是比较两个数组中的内容。因为s1和s2在内存中位置肯定不同,所以s1 == s2的值肯定为0,所以出现上面的结果也就是理所当然了。
    这个应该可以追溯到C语言中 数组(字符串也可认为是数组)的访问机制

    2.C++中string字符串比较

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        char a1[] = "abc";
        char a2[] = "abc";
        char a3[] = "abbc";
        if(a1 == a2)                    //a1 != a2
            printf("a1 = a2\n");
        else
            printf("a1 != a2\n");
        if(0 == strcmp(a1, a2))         //a1 = a2
            printf("a1 = a2\n");
        else
            printf("a1 != a2\n");
        if(strcmp(a2, a3)>0)            //a2 > a3
            printf("a2 > a3\n");
    
        string s1 = "abc";
        string s2 = a1;
        string s3 = "abbc";
        if(s1 == s2)                    //s1 = s2
            printf("s1 = s2\n");
        if(s1 == a1)                    //s1 = a1
            printf("s1 = a1\n");
        if(s2>s3)                       //s2 > s3
            printf("s2 > s3\n");
    
    
        return 0;
    }
    展开全文
  • 不同长度字符串的大小比较

    千次阅读 2019-08-15 14:56:09
    今天好不容易做个PTA上的题,真是太久没有写代码了,连最基本的字符串比较都忘得一干二净了,真是丢人。 1、只有数字的情况 这就是今天让我怀疑人生的情况;当两个纯数字的字符串比较时,是一个一个数字的ASCII码...

    一个一个单字符比过去的

    今天好不容易做个PTA上的题,真是太久没有写代码了,连最基本的字符串比较都忘得一干二净了,真是丢人.

    1、只有数字的情况
    这就是今天让我怀疑人生的情况;当两个纯数字的字符串比较时,是一个一个数字的ASCII码比过去的,一旦发生不相等的情况,便停止未完成的后面的对比,而直接给出结果;除非所有的数字的码值都样大。

    #当两个字符串长度相同时
    >>> '123'>'234' #显而易见,‘1’和‘2’相比便出结果了
    False
    >>> '123'>'124' #这是在比较‘3’和‘4’时才出来的结果
    False
    #当两个字符串长度不同时
    >>> '2'>'123333333333' #第一个字符串只有一个‘2’,但就这么一个‘2’比第二个字符串的‘1’大,就造成了和数学中比大小完全不同的结果
    True
    >>> '1'>'123' #第一个相同时,前一个串没有了,后一个串还有东西,自然后一个大
    False

    2、只有字母的情况
    其实和纯数字的情况差不多,反正都是一个个ASCII码值比过去

    >>> 'abc'>'abb'
    True
    >>> 'abc'>'ab'
    True
    >>> 'abc'>'abd'
    False

    3、混合情况
    如何对比和上面一样

    >>> '12ab'>'11ab'
    True
    >>> '12ab'>'21ab'
    False
    >>> '1a2b'>'1b1a'
    False
    >>> '11aaa'>'22bb'
    False
    >>> '11aaaa'>'11aa'
    True
    展开全文
  • C#转固定长度字符串

    万次阅读 2016-12-09 20:05:14
    //固定长度字符串处理 //1.int类型转固定长度 Console.WriteLine(string.Format("{0:D5}", 123)); Console.WriteLine(string.Format("{0:D5}", 456)); //2.字符串转固定长度 //使用PadLeft方法可以自定义填充值 ...

    一、实例

    //固定长度字符串处理
    //1.int类型转固定长度
    Console.WriteLine(string.Format("{0:D5}", 123));
    Console.WriteLine(string.Format("{0:D5}", 456));
    
    //2.字符串转固定长度
    //使用PadLeft方法可以自定义填充值
    string s = "123";
    Console.WriteLine(s.PadLeft(10));
    Console.WriteLine(s.PadLeft(10, '0'));
    Console.WriteLine(s.PadRight(10));
    Console.WriteLine(s.PadRight(10, '0'));
    显示结果:




    更多:

    C#双规获取指定层数的下标排列

    展开全文
  • c语言实现输入随意长度字符串

    千次阅读 2020-10-20 21:59:37
    而如果想实现输入任意长度字符串且都能被接受,就需要如下操作 int b;//这个b是想输入字符串长度 scanf("%d\n", &b); char* a = NULL; a = (char*)malloc(sizeof(char)*(b+1));//在堆区创建字符串的存储...
  • void mystrcpy(char *target, char *source) { while((*target = *source) != '\0') { source++; target++; } ...void mynstrcpy(char *target, char *source, int n) ... while((i ) && (*tar
  • printf 打印指定长度字符串

    万次阅读 2018-05-15 11:36:44
    2. 输出指定长度字符串, 超长时不截断, 不足时右对齐: printf("%Ns", str); --N 为指定长度的10进制数值3. 输出指定长度字符串, 超长时不截断, 不足时左对齐: printf("%-Ns", str); --N...
  • 三、字符串比较 四、字符串截取 1、一种简单而又机智的方法–strncpy  strncpy函数是拷贝N个字符到另一个字符数组中的库函数。利用它的性质可以达到截取字符串的目的:  首先:从源串中拷贝3个字符到终串中去...
  • 字符串和目标字符串去空格后转为单字符集,定义一个变量intersection,自定义算法计算让intersection值增加,相似度百分比值=intersection*2/unionLength(两个字符串长度和)*100. 代码如下: public static ...
  • Lua中获取字符串长度整理

    万次阅读 2018-10-31 22:58:41
    在Lua中,获取字符串长度我们一般使用#str(不建议使用string.len(str))! local str = "abc" local len = #str print(len) -- 3 str = "你们好" len = #str print(len) -- 9 这里就出现了一个问题:为啥"abc...
  • freemarker截取指定长度字符串

    千次阅读 2016-07-27 11:33:23
    freemarker截取指定长度字符串    ${item.content}    ${item.content[0..21]}...  判断news.title的长度是否小于20,如何长度小于20则全部显示,否则只显示前20个字符,后面的用...代替
  • java String中文字符串分割成一定长度字符串数组 /** * 几个字一组 变量控制 大于零有意义 */ int num = 6; /** * 待操作的字符串 */ String str = "一二三四五六七一二三四五六七一二三四五六七一二三...
  • JavaScript 按照指定长度切割字符串

    万次阅读 2020-11-05 21:01:40
    //2为要切割的每组的长度 var strArr = []; var str = "20201105hong鸿仔1"; for (let i = 0; i <str.length ; i+=2) { strArr.push(str.slice(i,i+2)) } ...
  • sql获取字符串长度函数

    万次阅读 2019-12-19 11:52:38
    1、lenght返回以字节为单位的字符串长度 lenght(string) -- 字符串 示例: SELECT classfyname,LENGHT(lassfyname) FROM f79_22_volume 运行结果: 2、char_lenght返回字符串长度 char_lenght(string...
  • C语言之 字符串长度的计算方法

    万次阅读 多人点赞 2018-08-16 20:39:04
    特别注意 (1)计算字符串长度时关键是要注意辨认转义字符;...(1)字符串“abc\n”:其中的'\n'为转义字符(换行符),计算字符串长度时只能计作一个字符,所以该字符串长度为4(而 不是5)。 ...
  • 字符串长度解析以及字符串的几种打印方法

    万次阅读 多人点赞 2018-09-16 21:28:20
    字符串 何为字符串,估计很多小伙伴都知道这个东西但不清楚它的定义,其实很简单,就一句话: 由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。 注意:字符串不是...
  • 【C语言】printf 打印指定长度字符串

    千次阅读 2019-09-07 21:50:52
    2. 输出指定长度字符串, 超长时不截断, 不足时右对齐: printf("%Ns", str); --N 为指定长度的10进制数值 3. 输出指定长度字符串, 超长时不截断, 不足时左对齐: printf("%-Ns", str); --N 为指定长度的10进...
  • 字符串比较原理(strcmp,string)

    万次阅读 多人点赞 2019-10-29 10:49:09
    字符串比较分为两种情况,一种是单个字符比较大小,一种是多个字符构成的字符串整体比较大小。 字符与字符串比较原理: 字符串与字符比较原理其实都是比较单个字符的ASCII码值。 如果单纯比较长度,直接调用类似于...
  • 两个字符串比较

    万次阅读 2018-03-02 14:36:00
    两个字符串比较大小: 一、可以用compareTo()方法,另外还有compareToIgnoreCase(String) 忽略大小写及 compareTo(object string)这些 方法返回值是int,以compareTo()方法为例: 1 .如果字符串相等返回值为0...
  • --将字符串中从某个字符开始截取一段字符,然后将另外一个字符串... --返回从指定位置开始指定长度字符串  select substring('Hello,World!',2,10) --返回值ello,World  --将字符串中某段字符替换为指定的字符
  • 字符串字符串数组

    万次阅读 多人点赞 2019-03-04 13:42:04
    文章目录字符串字符串输出字符串常用方法计算字符串的长度字符串拼接字符串拷贝字符串比较字符串数组 字符串 用双引号引起来的就是字符串,字符串由字符组成 字符串使用%s格式化输出 字符串以\0结尾,没有\0就不是...
  • django根据字符串长度截取字符串

    千次阅读 2015-07-31 13:38:26
    看到网上有好多django截取字符串的例子但是都不是自己想要的 最后试了几次达到了自己想要的结果 {%if uri|length >= 15 %}  {{uri|slice:"15"}}... {%else%} {{uri}} ...字符串超过一定长度显示...
  • printf输出指定长度字符串

    万次阅读 2017-03-11 16:52:26
    编程时往往存在这种情况:...函数接口传给你一个没有“\0”结尾的字符串str和他的长度str_len,调试的时候你需要将其打印出来。 一般人都会这么做: [cpp] view plain copy vo
  • oracle 生成指定长度字符串的函数

    千次阅读 2016-12-26 15:01:26
    最近在写一个小程序,需要获取指定长度字符串 number float time等类型的数据,所以自己封装了一个函数 #生成指定长度字符串 def random_char(length,flag):#flag为0表示number,1表示字符串类型,2表示time类型 ...
  • QString 类中各函数的作用。...一、字符串连接函数。 1、QString也重载的+和+=运算符。这两个运算符可以把两个字符串连接到一起。   2、QString的append()函数则提供了类似的操作,例如:  str = "User: ";
  • C语言 16行代码实现字符串中指定字符串替换

    万次阅读 多人点赞 2018-08-03 17:05:35
    支持: 1.等长字符串替换 2.长字符串替换为短字符串 3.短字符串替换为长字符串 4.中文替换 .../* 功 能:将str字符串中的oldstr字符串替换为newstr字符串 * 参 数:str:操作目标 oldstr:被替换者...
  • C语言截取指定长度字符串

    千次阅读 2009-10-17 08:08:00
    /* destin : 返回字符串。 source : 源字符串。 start : 开始截取的位置。(取值从0开始,保持C字符串的特点;...(长度超过字符串长度,按字符串实际长度计算。) */ char *substring(char *destin,
  • 截取指定长度字符串

    千次阅读 2009-08-27 19:21:00
    方法1: //截取指定长度字符串 public static string getStr(string s,int l) { string temp=s; if(Regex.Replace(temp,"[/u4e00-/u9fa5]","zz",RegexOptions.IgnoreCase).Length) { return te
  • Python计算字符串长度

    千次阅读 2019-12-15 19:30:00
    在实际开发过程中,经常会有计算字符串长度的需求。 Python中用len()函数来计算字符串长度 语法:len(str),其中str是目标字符串 示例: #计算字符串长度 str1 = 'abcdefg' len_str1 = len(str1) print(len...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,392,725
精华内容 557,090
关键字:

不同长度字符串比较