index
函數在 C++ 字符串處理中主要有以下應用:
查找子字符串:使用 index
函數可以查找一個字符串是否包含另一個子字符串,以及子字符串的位置。例如:
#include <iostream>
#include <cstring>
int main() {
const char* str = "Hello, World!";
const char* subStr = "World";
size_t pos = std::string(str).find(subStr);
if (pos != std::string::npos) {
std::cout << "子字符串 \"" << subStr << "\" 在字符串 \"" << str << "\" 中的位置是: " << pos << std::endl;
} else {
std::cout << "子字符串 \"" << subStr << "\" 不在字符串 \"" << str << "\" 中" << std::endl;
}
return 0;
}
在這個示例中,std::string(str).find(subStr)
將查找 str
中是否包含 subStr
,并返回其位置(從 0 開始)。如果未找到子字符串,則返回 std::string::npos
。
提取子字符串:通過 index
函數可以從一個字符串中提取子字符串。例如:
#include <iostream>
#include <cstring>
int main() {
const char* str = "Hello, World!";
const char* subStr = "World";
size_t pos = std::string(str).find(subStr);
if (pos != std::string::npos) {
std::string extracted = str + pos;
std::cout << "提取的子字符串 \"" << extracted << "\"" << std::endl;
} else {
std::cout << "未找到子字符串 \"" << subStr << "\"" << std::endl;
}
return 0;
}
在這個示例中,如果找到了子字符串 subStr
,則通過 str + pos
計算子字符串的起始位置,并使用 std::string
構造函數創建一個新的子字符串。