程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 對C++的atoi(),substr(),c_str()函數的理解

對C++的atoi(),substr(),c_str()函數的理解

編輯:C++入門知識

剛開始接觸C++,很多不懂的地方,翻看老大給的代碼其中  year = atoi(dateStr.substr(0, 4).c_str());雲裡霧裡。
year = atoi(dateStr.substr(0, 4).c_str());
裡面包含三個函數,分別是atoi(),substr(),c_str().
百度:
atoi()函數原型為: int atoi(char *str),用途是將字符串轉換成一個整數值,str是待轉化成整數值的字符串.成功則返回轉化後的整數值,失敗返回0.
substr()函數原型為:basic string::substr(string,start,length),也可把string移到外面,為string &a,a.substr(start,length),其中a是待截取的字符串,start表示從截取開始的前一位,length表示截取長度,例如string &a="hello world",則a.substr(6,5)=world.
c_str()函數原型為:const char *c_str(),如果要將string對象,轉化為char*對象,c_str()提供了這樣一種方法,它返回一個客戶程序可讀不可改的指向字符數組的指針。

所以year=atoi(dateStr.substr(0,4).c_str())的作用就是,截取string型的對象dateStr,並轉化為char*對象,然後將此字符串轉換成一個整數值,賦值給year(year是int型).

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved