Thắc mắc về string::npos
C++ Code:
- // string::find
- #include <iostream>
- #include <string>
- using namespace std;
- int main ()
- {
- string str ("There are two needles in this haystack with needles.");
- string str2 ("needle");
- size_t found;
- // different member versions of find in the same order as above:
- found=str.find(str2);
- if (found!=string::npos)
- system("pause");
- return 0;
- }
Chào bạn, cảm ơn bạn đã gửi câu hỏi về diễn đàn.
String::npos là một giá trị đặc biệt trong cài đặt trong string. Thực ra nó là số tương ứng với -1. Giúp phân biệt giá trị trả về của các hàm tìm kiếm trong xâu.Bạn nhớ là xâu cài đặt bằng string là có độ dài không giới hạn,các phần tử của nó đánh chỉ số từ 0 đến n. Cho nên dùng -1 để trả về giá trị khi mà không tìm thấy vị trí xuất hiện của các xâu con, hay ký tự cần tìm trong hàm find của lớp string


