關於C 的標準庫的相關內容

2021-07-26 05:38:59 字數 1559 閱讀 6796

#include#includeusing namespace std;

int main(){

string s;

cin>>s;

//當有字元出現後遇空白(空格符,換行符,製表符)便終止

//如輸入」sdjajsd 1321weia「 輸入的結果將只會為sdjajsd

coutstring s;

while(getline(cin,s)){//每次都一行

if(!s.empty()){ //去掉空行

coutstring s;

while(getline(cin,s)){

if(s.size()>80){ //當一行中的字元超過80時才讀出

cout《切記字串字面值與string是不同的型別

string類的輸入運算子是遇到空白便停止,空白包括(空格,換行符,製表符)

而getline函式是讀取一行,包括最後的換行符,然後去掉最後的換行符將所讀內容賦值給string物件中

處理string物件中的字元

在c++中cctype標頭檔案中定義了一組標準庫函式處理這部分工作

常用的有:

isalunm(c) //當c是字母或數字時為真

isalpha(c) //當c是字母時為真

isdigit(c) //當c是數字時為真

islower(c) //若c為小寫則返回真

isupper(c) //若c為大寫則返回真

tolower(c) //將c變為小寫

toupper(c) //將c變為大寫字母

isspace(c) //當c是空白時為真

ispunct(c) //當c是標點符號時為真

想處理每個字元,最好使用基於範圍的for語句

for(declaration:expression)

statement

較為坑的是由於現在大學的幾乎所有自帶ide都是vs2010,但是vs2010不支援基於範圍的for語句,執行緒等。。。。。,若是你要去一些大學內部的考點的話,,咳咳,,那就跟我一樣尷尬了。。。。囧。。

在這種情況下你要想全部遍歷的話便只能用類似如下的**。。

for(int i=0;i所以這就很坑爹了,有一點其實我是真的不太明白,為什麼到現在大學還都是用什麼vc++6.0 vs2005 vs2010 這種已經早就幾乎被所以程式設計師棄用的ide。。。與時俱進多好,,哈哈,小小吐槽一下下,不喜勿噴

如果我們不需要處理每乙個字元,要訪問單個字元時,便可利用下標和迭代器

需要注意的是使用下標時要注意下標》=0且小於所要訪問字串的大小,若是越界,變可能發生不可預知的錯誤,所以我們也不能對空字串進行下標訪問

順便提一句 decltype為返回相關型別,例如s.size()返回型別為string::size_type,是無符號整數

vector是模板而非型別,由vector生成的型別必須包含vector中元素的型別,例如

vector vector《類》 vector

關於HTML的相關內容

1.html html hyper text mark up language 超文字標記語言 最基礎的網頁語言 html不是一門程式語言 而是一門標記語言 html是用標記 標籤 元素 來描述網頁內容的 html是文件的一種 2.html的結構 用來指定當前頁面所遵循的html的版本 頭部分用來存...

關於「集」(SET)的相關內容

在sap中很多地方使用了集 set 來儲存層次關係的資料,如 cost center group cost element group order group statistical key figure group activity type group profit center group b...

事務的相關內容

事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性。事務通常是以begin transaction開始,以commit或roll...