天天看點

六千字C++字元串詳細教程(下)

通路字元串

您可以通過引用方括号内的索引号來通路字元串中的字元[]。這個例子列印的第一個字元中 的myString:

#include <iostream>
#include <string>
using namespace std;

int main() {
  string myString = "Hello boy";
  cout << myString[0];
  return 0;
}
      

示範:

六千字C++字元串詳細教程(下)

注意:字元串索引從 0 開始:[0] 是第一個字元。[1] 是第二個字元,以此類推。

更改字元串字元

需要指定特定字元更換,例如更換H為J:

#include <iostream>
#include <string>
using namespace std;

int main() {
  string myString = "Hello boy";
  myString[0] = 'J';
  cout << myString;
  return 0;
}
      
六千字C++字元串詳細教程(下)

使用者輸入字元串

可以使用提取運算符cin來顯示使用者輸入的字元串。例如:

#include <iostream>
#include <string>
using namespace std;

int main() {
string firstName;
cout << "請輸入你的性: ";
cin >> firstName; //從鍵盤擷取使用者輸入 
cout << "你的性是: " << firstName;
}      
六千字C++字元串詳細教程(下)

但是,cin将空格(空格、制表符等)視為終止符,這意味着它隻能顯示一個單詞(即使您鍵入多個單詞):

#include <iostream>
#include <string>
using namespace std;

int main() {
string fullName;
cout << "請輸入名字: ";
cin >> fullName;
cout << "你的名字叫做: " << fullName;
}      
六千字C++字元串詳細教程(下)

這就是為什麼在處理字元串時,我們經常使用該getline() 函數來讀取一行文本。它cin作為第一個參數,字元串變量作為第二個:

#include <iostream>
#include <string>
using namespace std;

int main() {
  string fullName;
  cout << "輸入你的名字: ";
  getline (cin, fullName);
  cout << "你的名字叫做: " << fullName;
  return 0;
}
      
六千字C++字元串詳細教程(下)

省略命名空間

您可能會看到一些 C++ 程式在沒有标準命名空間庫的情況下運作。該using namespace std行可以省略并替換為std關鍵字,後跟::用于string(和cout)對象的運算符:

#include <iostream>
#include <string>

int main() {
  std::string greeting = "川川";
  std::cout << greeting;
  return 0;
}
      
六千字C++字元串詳細教程(下)

繼續閱讀