在c++中分割字符串的另一种方法是使用find()和substr()函数。find()函数在字符串中查找指定的子字符串,而substr()函数从给定位置提取子字符串。在这个方法中,我们将使用find()、substr()和erase()函数,使用定界符分割给定的字符串。 语法 string substr (size_t position, size
string str="image007.jpg";string cut=str.substr(str.find_last_of(".")+1); 最终,cut=”jpg”,得到扩展名。其中,str.find_last_of(“.”)返回str字符串中最后一个’.’的所在下标,这里返回8(int)。 关于string::find_first_of()、string::find_first_not_of()、string::find_last_of()、strin...
STL的C++标准程序库中的string类,使用时不必担心内存是否充足、字符串长度等问题,并且C++中的string类作为一个类,其中集成的操作函数(方法)足以完成多数情况下的程序需求,比如说string对象可以用"="进行赋值,使用"=="进行等值比较,使用"+"进行串联。 如果要使用C++的string类必须包含头文件,并引入命名空间: 1 #inc...
string s3(s2); // 作用同上 string s4 = "hello world"; // 用 "hello world" 初始化 s4,除了最后的空字符外其他都拷贝到s4中 string s5("hello world"); // 作用同上 string s6(6,'a'); // 初始化s6为:aaaaaa string s7(s6, 3); // s7 是从 s6 的下标 3 开始的字符拷贝 string s8(s...
涉及到string类的两个函数find和substr: 1、find函数 原型:size_t find ( const string& str, size_t pos = 0 ) const; 功能:查找子字符串第一次出现的位置。 参数说明:str为子字符串,pos为初始查找位置。 返回值:找到的话返回第一次出现的位置,否则返回string::npos ...
下面是一个使用find函数的示例: ```c #include <stdio.h> #include <string.h> char *find(char *str, char *substr) { return strstr(str, substr); } int main() { char str[] = "Hello, world!"; char *result = find(str, "world"); if(result != NULL) { printf("找到了指定的字符...
#include <string.h> void main(void) { char str1[] = { "Tsinghua "}; char str2[] = { "Computer"}; cout <<strcpy(str1,str2)<<endl; } 运行结果:Tsinghua Computer 注意:在定义字符数组1的长度时应该考虑字符数组2的长度,因为连接后新字符串的长度为两个字符串长度之和。进行字符串连接后,字...
stringstr ="Today is a good day"; int pos = str.find("good");if(pos !=string::npos) { cout <<"'good' is at position "<< pos << endl; }else{ cout <<"'good' is not found"<< endl; } 截取字符串:可以使用substr()方法来截取一个string对象的子串,参数为起始索引和截取长度。
CString subStr("world"); nIndex = str.Find(subStr, 0); // 从头开始查找子串的位置,返回的是子串的起始位置 判断CString对象是否以某个子串开头或结尾,可以使用StartsWith()和EndsWith()方法,示例如下: CString str("hello,world"); bool bStart = str.StartsWith("hello"); // 是否以"hello"开头 boo...
#include <string.h> void main(void) { char str1[] = { "Tsinghua "}; char str2[] = { "Computer"}; cout <<strcpy(str1,str2)<<endl; } 运行结果:Tsinghua Computer 注意:在定义字符数组1的长度时应该考虑字符数组2的长度,因为连接后新字符串的长度为两个字符串长度之和。进行字符串连接后,字...