首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏ypw

    c++字符串函数 --- substr()函数用法

    有关字符串截取函数用法老不清晰。却总会时不时用到。例如蓝桥杯一个大题想着用字符串截取函数substr()函数跑暴力匹配。 string s("12345asdf");   string a = s.substr(0,5); //获得字符串s中从第0位开始长度为5字符串   cout << a << endl; } 第一个参数表示pos,从哪个位置开始,第二个参数表示是长度,要截取多长字符串。 : 题目 1686: 算法4-1,4-3:定位子串 题意:就是多组输入,每次输进去两个字符串,然后问第二个串s2,在第一个串s1中第一次出现位置。 没有就输出“0”; 思路:我们遍历母串s1,用字符串截取函数,每次截取s2.size()长度。然后进行匹配,看是否相等,相等就直接输出值,随后break掉。

    3.7K20发布于 2021-04-25
  • 来自专栏全栈程序员必看

    C++字符串加密_c++字符串连接函数

    有的时候,使用C++进行爬虫操作时,会涉及到一些请求参数加密,例如对utf8中文进行加密,我们用js对如下字符串进行加密结果如下: 加密前字符串:keras-lx-还魂草.z01 URL加密后 :keras-lx-%E8%BF%98%E9%AD%82%E8%8D%89.z01 使用网页在线加密工具和使用js加密效果是一样 自己用C++URL加密代码如下: // URL编码.cpp [1] = (0x80 | ((pchar[1] & 0x0F) << 2)) + ((pchar[0] & 0xC0) >> 6); pOut[2] = (0x80 | (pchar[0] & 0x3F ,因此如果你使用我这个函数时,根据自己情况加上把某些字符复原代码 //其中某些标点符号也被转了,这里需要复原 //下面用正则表达式将某些不需要转换标点符号还原过来 //例如-和. regex r1 函数字符串进行URL转换得到结果完全一样。

    1.6K30编辑于 2022-11-17
  • 来自专栏深度学习与计算机视觉

    C++ 字符串操作函数

    由于字符串使用广泛,C和C++提供了一些字符串函数,包括字符串连接函数strcat,字符串复制函数strcpy,字符串比较函数strcmp,字符串长度函数strlen string 是C++标准定义头文件,它定义了一个string字符串类,里面包含了string类各种操作,如s.size(), s.erase(), s.insert()等。 strcpy(str1,str2,3); 这个功能在C语言中是可以实现,在<string.h>中定义strcpy函数支持三个参数传入,但是在C++中,不管是<cstring>还是<string>都不支持 3个参数 3.如果用字符数组形式定义字符串,那么该字符串不允许使用赋值符号,因为变量名代表其实是数组地址。 ; 如果字符串1大于字符串2,函数值为正整数; 如果字符串1小于字符串2,函数值为负整数; 大小依据是直到出现第一个不同字符时,比较该字符ASCII码大小。

    2.8K20发布于 2019-05-26
  • 来自专栏C语言入门到精通

    C++字符串处理函数

    C++字符串处理函数 C语言和C++提供了一些字符串函数,使得用户能很方便地对字符串进行处理。这些是放在函数库中,在string和string.h 头文件中定义。 C++字符串连接函数strcat 函数原型为: strcat(char [],const char[]); strcat函数是有两个字符数组参数,函数作用是:将第二个字符数组中字符串连接到前面字符数组字符串后面 C++字符串复制函数strcpy 函数原型为: strcpy(char [],const char[]); strcpy函数作用是将第二个字符数组中字符串复制到第一个 字符数组中去,将第一个字符数组中相应字符覆盖 C++字符串比较函数strcmp 函数原型为: strcmp(const char [],const char[]); strcmp函数作用是比较两个字符串,比较结果由函数值带回。 C++字符串长度函数strlen 函数原型为: strlen(const char[]); strlen函数是测试字符串长度函数,其函数值为字符串 实际长度,不包括\0在内。

    8432220发布于 2020-12-11
  • 来自专栏代码编写世界

    C++常用string字符串截断函数

    C++中经常会用到标准库函数库(STL)string字符串类,跟其他语言字符串类相比有所缺陷。 这里就分享下我经常用到两个字符串截断函数: #include <iostream> #include <vector> #include <string> #include <sstream> using line.length(); } subline.push_back(line.substr(curpos, pos - curpos)); pos++; } return; } //根据空截断字符串 CutString根据选定字符切分string,兼容最前最后存在字符;函数ChopStringLineEx根据空截断字符串。 这两个函数在很多时候都是很实用,例如在读取文本时候,通过getline按行读取,再用这两个函数分解成想要子串。

    3.2K20发布于 2019-08-13
  • 来自专栏bit哲学院

    C++字符串输入函数小结

    参考链接: C++ fgetwc() 做了一些字符串类型题目,发现在字符串类型题目中  如何进行输入输出是很重要,查找资料过程中看到了这篇博文  觉得写很好,就给转过来了  以下为正文:   原创 http://hi.baidu.com/atomxu 转载请注明出处  看了网上有人写,不是很全,而且还有几处错误,所以自己重新找了一下MSDN中相关内容。    1. cin/wcin  标准C++输入流,有ANSI版本和宽字符版本,用法基本相同,不用多说,下面的例子是cerr,中间也用到了这两个输入函数。  wclog  ===========================  2. cin.get()  用来读入字符或字符串,可以设置读取个数和终结字符,而且如下示例可以指定存放精确位置。 从字符串读取格式化数据,字符串必须已经存在。使用时最好指定字符串宽度,否则,不正常输入格式容易发生错误。  Read formatted data from a string. 

    1.1K00发布于 2021-02-17
  • 来自专栏热爱编程的证据

    模拟实现字符串函数3) strcat函数

    1.函数介绍 strcat函数可以实现对一个字符串追加,它返回类型是一个char*指针,参数是dest(需要追加字符串位置)和src(需要追加字符串内容)。 2.模拟实现 下面我们来模拟实现,首先字符串追加,肯定是追加在字符串最后面,所以我们就得取到字符串最后一位地址,往后实现追加,字符串是以/0为结尾,我们可以循环目标字符串,如果检测到/0,就停止。 此时dest指向字符串末尾,往后开始,将src内容赋给dest并实现自增,直到src遇到/0结束。 注意事项 这里需要注意是,目标字符串空间一定要够; 同时它返回类型是一个字符指针,可以用一个字符指针接收。 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<assert.h> //strcat函数模拟实现 char* my_strcat

    30610编辑于 2024-01-23
  • 1.1 C++ STL 字符串构造函数

    String 字符串操作容器是C++标准中实现重要容器,其主要用于对字符串高效处理,它和C风格中string.h并不是同一个库,两个库有极大差距,C库中string.h主要面向过程提供一些处理函数 ,而C++库中string则是基于类实现更高效一种字符串处理方法集,类中提供了非常方便成员函数供我们使用.1.1 字符串构造函数如下一段C++代码,展示了如何使用STL字符串不同构造函数字符串进行赋值和初始化 使用assign()函数第二个形式,将5个字符A填充到字符串s2中。使用assign()函数第三个形式,未指定任何参数,因此字符串s3被初始化为空字符串。最后,使用cout输出字符串s3内容。 C++代码,展示了如何使用STL字符串append()、substr()、erase()和insert()等函数字符串进行处理。 C++代码,展示了如何使用标准库函数toupper()将字符串字母全部转换为大写形式,并输出转换后结果。

    45220编辑于 2023-08-16
  • 1.1 C++ STL 字符串构造函数

    String 字符串操作容器是C++标准中实现重要容器,其主要用于对字符串高效处理,它和C风格中string.h并不是同一个库,两个库有极大差距,C库中string.h主要面向过程提供一些处理函数 ,而C++库中string则是基于类实现更高效一种字符串处理方法集,类中提供了非常方便成员函数供我们使用. 1.1 字符串构造函数 如下一段C++代码,展示了如何使用STL字符串不同构造函数字符串进行赋值和初始化 如下C++代码,展示了如何使用STL字符串append()、substr()、erase()和insert()等函数字符串进行处理。 如下C++代码,展示了如何使用STL字符串string类型中substr()函数和find()函数字符串分解为多个子串,并输出提取后结果。 如下C++代码,展示了如何使用标准库函数toupper()将字符串字母全部转换为大写形式,并输出转换后结果。

    43230编辑于 2023-10-11
  • 来自专栏韩曙亮的移动开发专栏

    C++】STL 容器 - string 字符串操作 ④ ( string 字符串连接 | 字符串重载函数 - operator+= 函数 | append 函数 )

    文章目录 一、string 字符串连接 1、字符串重载函数 - operator+= 函数 2、字符串重载函数 - operator+ 函数 3、append 函数 4、代码示例 - string 字符串连接 一、string 字符串连接 1、字符串重载函数 - operator+= 函数 下面函数作用是 将 字符串 s 连接到 当前 string 类型字符串对象 结尾 , char* 类型字符串函数C++ 语言 中 标准库中 std::string 类一个成员函数 , 用于向字符串末尾添加内容 ; append 函数原型 : // 将 字符串 s 连接到当前字符串结尾 string ; // 使用 append 函数 string 字符串 第 7 个字符处 3 个字符 s1.append(string("Son Of Beach"), 7, 3); cout << "s1 / 使用 append 函数 string 字符串 第 7 个字符处 3 个字符 s1.append(string("Son Of Beach"), 7, 3); cout << "s1 = "

    85710编辑于 2023-12-18
  • 来自专栏python3

    Python学习-字符串函数操作3

    字符串函数操作 isprintable():判断一个字符串中所有字符是否都是可打印字符. 与isspace()函数很相似 如果字符串所有字符都是可打印字符或字符串为空返回 True,否则返回 False str1 = 'gheruiv'; str2 = '\n\t'; print(str1 rjust(width,fillchar):根据指定字符串,将原来字符串填充够指定长度,返回一个原字符串右对齐,并使用指定字符填充至指定长度字符串 width:得到目标字符串长度 fillchar intab:需要转换字符组成字符串。 outtab:转换目标字符组成字符串。 注意:两个字符串长度必须相同,为一一对应关系。返回字符串转换后生成字符串。 = str.split("j"); res3 = str.split("j",3); print(res1); // ['ljbjgdfkjmmjhusjdvdjsjs'] print(res2

    59030发布于 2020-01-20
  • C++字符串处理标准库函数大全

    C++ 编程中,字符串处理是一项非常基础且重要操作。C++ 继承了 C 语言字符串处理函数,同时也拥有功能更强大标准库 string 类。 本文将全面介绍 C++ 中常用字符串处理标准库函数,包括 C 风格字符串函数C++ 标准库 string 类相关函数。​ 一、C 风格字符串函数​ C 风格字符串是以空字符 '\0' 结尾字符数组,C++ 继承了 C 语言中用于处理这类字符串大量函数,这些函数声明在头文件中。​ :" << strlen(str) << endl; // 输出0 return 0; } 二、C++ 标准库 string 类​ C++ 标准库中 string 类封装了字符串操作,提供了更安全 除了上述 C 风格字符串函数和 string 类成员函数外,C++ 标准库中还有一些与字符串处理相关函数,主要在头文件和中。​

    21910编辑于 2026-01-20
  • 来自专栏我的技术专栏

    C++实现python字符串函数库】二:字符串匹配函数startswith与endswith

    C++实现python字符串函数库】字符串匹配函数startswith与endswith 这两个函数用于匹配字符串开头或末尾,判断是否包含另一个字符串,它们返回bool值。 在使用字符串函数时,很多时候我们可以使用start与end参数来指定要进行操作字符串一个范围。 例如在上面的函数中我们就使用到了('cd',2,10)语句,来对字符串a下标从2~10范围进行匹配操作。 当我们输入范围不合法时,python是如何处理呢? 我们将它作为一个宏来处理,原因如下: 操作简单,不会出来宏函数常见问题,直接替换足以解决问题。 省去函数调用花销 多个地方都需要范围校准。 temp3, 0, 100) << endl; 测试结果

    70520编辑于 2022-05-06
  • 来自专栏韩曙亮的移动开发专栏

    C++】STL 容器 - string 字符串操作 ⑦ ( 字符串区间删除 - erase 函数 | 字符串插入 - insert 函数 | 字符串截取子串 - substr 函数 )

    成员函数 , 其作用是 从位置 pos 开始 , 删除长度为 n 字符串 , 如果 n 值超过了字符串长度 , 那么整个字符串都会被删除 ; string& erase(int pos=0 二、string 字符串插入 - insert 函数 1、string 类 insert 函数原型说明 string 类 insert 函数 插入 字符串 函数原型 : 该函数作用是 在字符串指定位置 ; string 类 insert 函数 插入 若干 字符 函数原型 : 该 函数作用是 在字符串指定位置 pos 插入 n 个字符 c ; 插入后 , 原字符串中位于 pos 位置及其之后字符会向后移动 三、string 字符串截取子串 - substr 函数 1、string 类 substr 函数原型说明 string 类 substr 函数原型 : 该函数 会截取字符串一部分 , 并返回一个新字符串 namespace std; #include "string" int main() { string s1 = "Tom And Jerry"; // 截取 0 索引位置开始 3 个字符

    5.6K10编辑于 2023-12-18
  • 来自专栏bit哲学院

    C++ <cstring>字符串函数自定义实现

    参考链接: C++ strxfrm() 字符串处理函数包括几大类可以满足对char*字符串大部分操作,需要包括头文件<cstring>或者<string.h>。 std::basic_string属于C++ STL容器类,用户自定义类也可以作为它模板参数,因此也适用C++ STL Algorithm库。 memcpy、memmove和strncpy函数可用于包括字符在内任何内存块,而strcpy函数只适合字符串,它会持续复制字符,直到遇到源字符中空字符为止。 strspn函数字符串s1中搜索字符集s2,并返回字符组中第一个不属于给定字符集中字符下标,而strcspn函数返回第一个属于给定字符集中字符下标。 strstr函数字符串s1中搜索字符串s2,返回找到第一处匹配子串指针,如果找不到,则返回空。 strtok函数在s1中搜索,查找一个非空字符序列(称作记号),这个序列不包括s2中指定字符。

    1.8K40发布于 2021-02-16
  • 来自专栏全栈程序员必看

    c++实现strstr函数_C语言字符串数组

    自己实现C语言中strstr函数,采用字符一个一个进行匹配,如果不等,则从下一个位置进行匹配。 tdest++; tsrc++; } //上面循环完毕,有如下3种情况 if (!*tsrc) { //tsrc已经到达\0位置,说明在dest中已经找到 子字符串,唯一找到字串出口。 tdest到达\0 而tsrc没有到达\0,没有找到 return NULL; } //走到这里,没有匹配成功,继续从下一位开始匹配整个子串 tdest++; } return NULL; } 上面这函数好理解 下面是改进后方法。 i – strlen(tsrc); } return NULL; }2个函数都能实现一样效果。

    1.9K20编辑于 2022-11-04
  • 来自专栏全栈程序员必看

    C++字符串常见操作函数最全总结

    大家好,又见面了,我是你们朋友全栈君。 在做题过程中经常用到字符串,有时候费了很大力气去写一个函数,结果最后发现C++已经封装好了此类函数。。。 s(num,c)生成由num个c字符构成字符串。 strtok()函数原型:char *strtok(char *s,const char *delim) 函数功能:分解字符串为一组字符串,s为要分解字符串,delim为分隔字符串。 来分割字符串str   return 0;    7、删除: erase()函数,例如s=“12345678”,s.erase(s.begin()+3)后变为”1235678″,即把位置3字符删掉 11、拼接函数c++string支持直接相加,“cdd”+“sss”=“cddsss”。另外s.append(ss)表示在s最后加上ss,等同于s+=ss。

    2.2K11编辑于 2022-09-06
  • 来自专栏热爱编程的证据

    C语言重点突破(3字符串函数与内存函数介绍

    本章重点 重点介绍处理字符和字符串函数使用和注意事项 前言 C语言里对字符串函数使用特别频繁,但却没有规定字符串类型,那它在字符串里是如何存储呢? 3.注意函数返回值为size_t,是无符号( 易错 ) 2.strcpy 提一下,通过函数名可以大概判断该函数用法,如cpy就是copy(复制),该函数用来进行字符串复制 需要注意细节: 1. 2.会将源字符串 '\0' 拷贝到目标空间。 3.目标空间必须足够大,以确保能存放源字符串。 4.目标空间必须可变。  3 strcat strcat用来将两个字符串追加到一个字符串中。 3.目标空间必须可修改 4 strcmp strcmp函数用来将两个字符串进行比较,比较标准是按照字符字典序进行比较(如a与r比较,因为根据26个字母排序,r在a之后,所以r>a) 标准规定: 3.memcmp  比较从ptr1和ptr2指针开始num个字节 返回值如下 总结 上面这些基本上都是常用字符串和内存函数,感兴趣兄弟们可以自己了解,并尝试着模拟一下,关于字符串函数模拟实现

    27610编辑于 2024-01-23
  • 来自专栏bit哲学院

    C++ 使用strtok函数实现字符串分割实例

    参考链接: C++ strtok() int Split_char(vector<string> &str_sq,char *buf){         str_sq.clear();         char *tmpStr =NULL;         tmpStr = strtok(buf, " ");//参数①为欲分割字符串,参数②为分隔符 返回值相当于一个游标          //以下是第一个分割数据 则break             {                 break;             }             str_sq.push_back(tmpStr);//将分割字符串存入容器             cout <<"tmpSTR值2:"<<tmpStr << endl;         }         vector<string>().swap(str_sq);//清空容量

    75420发布于 2021-02-16
  • 来自专栏全栈程序员必看

    C++实现字符串分割函数split()「建议收藏」

    目录 使用strtok()完成分割 使用strsep()完成分割 使用strtok_r()完成分割 实现字符串分割 ---- 前言 最近遇到了一个字符串分割问题,在C++标准库里面没有字符分割函数split 我想这个问题今后可能还会再遇见,所以使用C/C++字符串分割方法完成相应功能。 需求:对一个字符串进行分割,然后将分割后数据存起来,想用时候像用数组那样拿就行了。 (2)每次对该函数调用都会修改一个静态变量:不是线程安全。 (3)与大多数其他strtok不同,每个后续标记中定界符可以不同,甚至可以取决于先前标记内容。 使用strtok_r()完成分割 strtok是一个线程不安全函数,因为它使用了静态分配空间来存储被分割字符串位置,线程安全函数是strtok_r()。 以上函数都会改变源字符串,所以在完成split函数功能时,要先复制一个副本,对副本进行分割后返回相应值才是正确思路。

    3.7K10编辑于 2022-09-05
领券