1. 程式人生 > >C++ 方法

C++ 方法

string擷取字串:

stringvar.substr(start , [length ])

引數 stringvar   必選項。要提取子字串的字串文字或 String 物件。

start 必選項。所需的子字串的起始位置。字串中的第一個字元的索引為 0。       

length  可選項。在返回的子字串中應包括的字元個數。 如果 length 為 0 或負數,將返回一個空字串。如果沒有指定該引數,則子字串將延續到 stringvar 的最後。

string s = "0123456789"; 

string sub1 = s.substr(5); //只有一個數字5表示從下標為5開始一直到結尾:sub1 = "56789" 

string sub2 = s.substr(5, 3); //從下標為5開始擷取長度為3位:sub2 = "567" 

 

vector的find查詢:

InputIterator find (InputIterator first, InputIterator last, const T& val);

find(vec.begin(), vec.end(), val), 在vec中找val。若== -1,則說明未找到,即等同於不存在於vec中。

// find example
#include <iostream>     // std::cout
#include <algorithm>    // std::find
#include <vector>       // std::vector

int main () {
  // using std::find with array and pointer:
  int myints[] = { 10, 20, 30, 40 };
  int * p;

  p = std::find (myints, myints+4, 30);
  if (p != myints+4)
    std::cout << "Element found in myints: " << *p << '\n';
  else
    std::cout << "Element not found in myints\n";

  // using std::find with vector and iterator:
  std::vector<int> myvector (myints,myints+4);
  std::vector<int>::iterator it;

  it = find (myvector.begin(), myvector.end(), 30);
  if (it != myvector.end())
    std::cout << "Element found in myvector: " << *it << '\n';
  else
    std::cout << "Element not found in myvector\n";

  return 0;
}