(一)using的使用:
最常見的是:
#include <iostream>
using namespace std;
還有更普通的:
#include <string>
#include <iostream>
using std::string;
using std::cin; //這三個是iostream裡的
using std::endl;
using std::cout;
using std::boolalpha; //解釋下這個:輸出bool類型的字串類型的名字true或false
using std::getline; //getline 讀取整行文本
//關於getline :只要 getline 遇到分行符號,即便它是輸入的第一個字元,getline 也將停止讀入並返回。//如果第一個字元就是分行符號,則 string 參數將被置為空白 string。
(二)string 對象的操作:
s.empty() 如果 s 為空白串,則返回 true,否則返回 false。
s.size() 返回 s 中字元的個數
s[n] 返回 s 中位置為 n 的字元,位置從 0 開始計數
s1 + s2 把 s1 和s2 串連成一個新字串,返回新產生的字串
s1 = s2 把 s1 內容替換為 s2 的副本
v1 == v2 比較 v1 與 v2的內容,相等則返回 true,否則返回 false
下面來看個使用上面功能的例子:
#include <string>
#include <iostream>
using std::string;
using std::cin;
using std::endl;
using std::cout;
using std::boolalpha;
using std::getline;
int main()
{
string line;
string strtmp;
// read line at time until end-of-file
cout <<"請輸入line:";
while (getline(cin, line))
{
cout << line << endl;
cout << "line的長度:" <<line.size()<<endl;
cout << boolalpha << line.empty();
cout << "字串裡的第六個字元:" <<line[5] << endl; //輸出字串裡的第六個字元(從0開始的)
cout <<"請輸入strtmp:";
cin >> strtmp;
cout << "strtmp + line :" << strtmp + line << endl;
strtmp = line;
cout << strtmp << endl;
cout << "strtmp 和 line相等嗎?" << boolalpha << (strtmp == line) << endl;
cout <<"請輸入line:";
}
return 0;
}
(三)string 對象中字元的處理:
isalnum(c) 如果 c 是字母或數字,則為 True。
isalpha(c) 如果 c 是字母,則為 true。
iscntrl(c) 如果 c 是控制字元,則為 true
isdigit(c) 如果 c 是數字,則為 true。
isgraph(c) 如果 c 不是空格,但可列印,則為 true。
islower(c) 如果 c 是小寫字母,則為 true。
isprint(c) 如果 c 是可列印的字元,則為 true。
ispunct(c) 如果 c 是標點符號,則 true。
isspace(c) 如果 c 是空白字元,則為 true。
isupper(c) 如果 c 是大寫字母,則 true。
isxdigit(c) 如果是 c 十六進位數,則為 true。
tolower(c) 如果 c 大寫字母,返回其小寫字母形式,否則直接返回 c。
toupper(c) 如果 c 是小寫字母,則返回其大寫字母形式,否則直接返回 c。
同樣的,咱們來看個使用上面功能的例子:
#include <string>
#include <iostream>
using std::string;
using std::cin;
using std::endl;
using std::cout;
using std::boolalpha;
int main()
{
string line;
cout <<"請輸入line:";
while (cin >> line)
{
bool tmp;
tmp = isalnum(line[0]); //功能都對應著上面的
cout << boolalpha << tmp <<endl;
tmp = isalpha(line[1]);
cout << boolalpha << tmp <<endl;
tmp = iscntrl(line[2]);
cout << boolalpha << tmp <<endl;
tmp = isdigit(line[3]);
cout << boolalpha << tmp <<endl;
tmp = islower(line[4]);
cout << boolalpha << tmp <<endl;
tmp = isprint(line[5]);
cout << boolalpha << tmp <<endl;
tmp = ispunct(line[6]);
cout << boolalpha << tmp <<endl;
tmp = isspace(line[8]);
cout << boolalpha << tmp <<endl;
string strtmp;
for (int i = 0; i < 10; i++)
{
strtmp[i] = toupper(line[i]);
cout << strtmp[i];
}
cout <<endl;
cout <<"請輸入line:";
}
return 0;}
未完待續...................