<cstdlib>頭文件

字符串轉整形

  • 形式: char *_itoa( int value, char *string, int radix );
  • 參數:
    • value 表示需要被轉換的整形值
    • string 表示轉換後字符串被存放的地址
    • radix 表示被轉換成幾進制

字符串轉成 double 型

  • 形式: double atof( const char *string );
  • 參數string 表示需要被轉換的字符串

字符串轉成 int 型

  • 形式: int atoi( const char *string );
  • 參數string 表示需要被轉換的字符串

字符串轉成 long 型

  • 形式: long atol( const char *string );
  • 參數string 表示需要被轉換的字符串

malloc函數

  • 形式: void *malloc( size_t size );
  • 參數size 爲新開闢時候需要的內存區大小
  • 注意:
    • malloc 返回值是 void 所以必須有強制轉換類型 (typename*)malloc
    • LEN 爲開闢空間的長度,如果爲單個變量可用sizeof(typename) 函數返回一個 typename 類型變量內存空間需要的長度.如果是數組的話其中元素個數爲 N 其內存空間需要的長度爲 N*sizeof(typename)
      1. int *p=(int)malloc(sizeof(int));//p爲新開闢的整形變量的指針  
    • 由於 point_name 爲地址,malloc 動態生成的結構體無名稱,不能用 *point_name成員名 來訪問成員,但由於 () 優先級高,所以可以用 (*point_name).成員名 來訪問
    • malloc 不會初始化開闢空間裏面的內容,所以用 malloc 開闢空間的元素在沒有初始化前使用結果是未知的
  • 作用: 爲變量開闢存儲空間

free函數

  • 形式: void free( void *memblock );
  • 參數memblock 用 malloc 或者 realloc 開闢空間的指針
  • 注意:
    • 用 malloc 生成的變量/結構體/數組用 free 函數來釋放內存
    • free 釋放的都是malloc指針指向的內存,而不會刪掉指針本身
    • 對空指針應用 free 是安全的
    • 不能用 sizeof 操作符來確定動態分配數組包含的字節數
  • 作用: 釋放由 malloc,realloc 或者 calloc 開闢的變量空間

realloc函數

  • 形式: void *realloc( void *memblock, size_t size );
  • 參數:
    • memblock 爲原來有 malloc 開闢空間的指針
    • size 爲新開闢時候需要的新的內存區大小,要比 malloc 的大才行
  • 注意:
    • realloc 返回值是 void 所以必須有強制轉換類型 (*typename)realloc
    • LEN 爲開闢空間的長度,如果爲單個變量可用 sizeof(typename) 函數返回一個 typename 類型變量內存空間需要的長度.如果是數組的話其中元素個數爲N其內存空間需要的長度爲 N*sizeof(typename)
      1. #include<iostream>  
      2. #include <cstdlib>  
      3. using namespace std;  
      4. void main()  
      5. {  
      6.     int *p=(int*)malloc(sizeof(int));  
      7.     *p = 5;  
      8.     cout<<"用 malloc 開闢變量空間 :"<<endl;  
      9.     cout<<"指針 p 指向的地址"<<p<<endl;  
      10.     cout<<"指針 p 指向的地址裏面的變量值"<<*p<<endl;  
      11.     p =(int*) realloc((void*)p,2*sizeof(int));  
      12.     *(p+1) = 6;  
      13.     cout<<"用 realloc 重新開闢變量空間 :"<<endl;  
      14.     cout<<"指針 p 指向的地址"<<p<<endl;  
      15.     cout<<"指針 p 指向的地址裏面的變量值"<<*p<<endl;  
      16.     cout<<"指針 p+1 指向的地址"<<(p+1)<<endl;  
      17.     cout<<"指針 p+1 指向的地址裏面的變量值"<<*(p+1)<<endl;  
      18.     system("pause");  
      19. }  

      輸出結果:

      用 malloc 開闢變量空間 :
      指針 p 指向的地址003B5410
      指針 p 指向的地址裏面的變量值5
      用 realloc 重新開闢變量空間 :
      指針 p 指向的地址003B5410
      指針 p 指向的地址裏面的變量值5
      指針 p+1 指向的地址003B5414
      指針 p+1 指向的地址裏面的變量值6
      請按任意鍵繼續. . .

    • 由於 point_name 爲地址,realloc 動態生成的結構體無名稱,不能用 *point_name.成員名 來訪問成員,但由於 () 優先級高,所以可以用 (*point_name).成員名 來訪問
    • realloc 先按照 size 分配空間在將原有的數據從頭到位拷貝到新分配的區域,然後釋放原來的 memblock 指向的內存區域
  • 作用: 爲變量開闢存儲空間

calloc函數

  • 形式: void *calloc( size_t num, size_t size );
  • 參數:
    • num 是要開闢此類變量的個數
    • size 是要開闢此類型變量一個需要的空間
  • 注意: 並返回指向所分配區域的第一個字節的指針若內存不夠則返回 NULL. 該空間的內容全部初始化大小爲 0 

隨機生成數函數

  • 形式: int rand( void );
  • 返回值: 返回值爲 0 至 RAND_MAX 之間的隨機數值,RAND_MAX 定義在stdlib.h,其值爲2147483647。
  • 注意:
    • 在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子爲1
    • 但是這個只是產生僞隨機數,若無明確給出隨機數索引種子,每次得到的隨機數都一樣,可調用srand來初始化rand的隨機數種子來解決這個問題

初始化隨機函數的種子

  • 形式: void srand( unsigned int seed );
  • 參數seed 爲無符號整形,用來初始化隨機函數的種子
  • 注意: 一般都是通過抓起系統時間來做隨機函數的種子
    srand( (unsigned)time( NULL ) );//記得包含<time.h>頭文件

system函數:

  • 形式:int system( const char *command );
    1. system("ping 10.10.10.11 -t")  
    2. system("cls")  
  • 作用: system()函數用於向操作系統傳遞控制檯命令行
  • 常用DOS命令:
    • ASSOC 顯示或修改文件擴展名關聯
    • AT 計劃在計算機上運行的命令和程序
    • ATTRIB 顯示或更改文件屬性
    • BREAK 設置或清除擴展式 CTRL+C 檢查
    • CACLS 顯示或修改文件的訪問控制列表(ACLs)
    • CALL 從另一個批處理程序調用這一個
    • CD 顯示當前目錄的名稱或將其更改
    • CHCP 顯示或設置活動代碼頁數
    • CHDIR 顯示當前目錄的名稱或將其更改
    • CHKDSK 檢查磁盤並顯示狀態報告
    • CHKNTFS 顯示或修改啓動時間磁盤檢查
    • CLS 清屏幕
    • CMD 打開另一個 Windows 命令解釋程序窗口
    • COLOR 設置默認控制檯前景和背景顏色
    • COMP 比較兩個或兩套文件的內容
    • COMPACT 顯示或更改 NTFS 分區上文件的壓縮
    • CONVERT 將 FAT 卷轉換成 NTFS。您不能轉換當前驅動器
    • COPY 將至少一個文件複製到另一個位置
    • DATE 顯示或設置日期
    • DEL 刪除至少一個文件
    • DIR 顯示一個目錄中的文件和子目錄
    • DISKCOMP 比較兩個軟盤的內容
    • DISKCOPY 將一個軟盤的內容複製到另一個軟盤
    • DOSKEY 編輯命令行、調用 Windows 命令並創建宏
    • ECHO 顯示消息,或將命令回顯打開或關上
    • ENDLOCAL 結束批文件中環境更改的本地化
    • ERASE 刪除至少一個文件
    • EXIT 退出 CMD.EXE 程序(命令解釋程序)
    • FC 比較兩個或兩套文件,並顯示不同處
    • FIND 在文件中搜索文字字符串
    • FINDSTR 在文件中搜索字符串
    • FOR 爲一套文件中的每個文件運行一個指定的命令
    • FORMAT 格式化磁盤,以便跟 Windows 使用
    • FTYPE 顯示或修改用於文件擴展名關聯的文件類型
    • GOTO 將Windows命令解釋程序指向批處理程序中某標明行
    • GRAFTABL 啓用 Windows 來以圖像模式顯示擴展字符集
    • HELP 提供 Windows 命令的幫助信息
    • IF 執行批處理程序中的條件性處理
    • LABEL 創建、更改或刪除磁盤的卷標
    • MD 創建目錄
    • MKDIR 創建目錄
    • MODE 配置系統設備
    • MORE 一次顯示一個結果屏幕
    • MOVE 將文件從一個目錄移到另一個目錄
    • PATH 顯示或設置可執行文件的搜索路徑
    • PAUSE 暫停批文件的處理並顯示消息
    • POPD 還原 PUSHD 保存的當前目錄的上一個值
    • PRINT 打印文本文件
    • PROMPT 更改 Windows 命令提示符
    • PUSHD 保存當前目錄,然後對其進行更改
    • RD 刪除目錄
    • RECOVER 從有問題的磁盤恢復可讀信息
    • REM 記錄批文件或 CONFIG.SYS 中的註釋
    • REN 重命名文件
    • RENAME 重命名文件
    • REPLACE 替換文件
    • RMDIR 刪除目錄
    • SET 顯示、設置或刪除 Windows 環境變量
    • SETLOCAL 開始批文件中環境更改的本地化
    • SHIFT 更換批文件中可替換參數的位置
    • SORT 對輸入進行分類
    • START 啓動另一個窗口來運行指定的程序或命令
    • SUBST 將路徑跟一個驅動器號關聯
    • TIME 顯示或設置系統時間
    • TITLE 設置 CMD.EXE 會話的窗口標題
    • TREE 以圖形模式顯示驅動器或路徑的目錄結構
    • TYPE 顯示文本文件的內容
    • VER 顯示 Windows 版本
    • VERIFY 告訴 Windows 是否驗證文件是否已正確寫入磁盤
    • VOL 顯示磁盤卷標和序列號
    • XCOPY 複製文件和目錄樹
    • SHUTDOWNWindows 系統關機命令
      • 格式: shutdown [-s | -a | -l | -r ] [-t seconds]
        • 參數說明:
          • -s:就表示關閉本地計算機
          • -a:表示取消關機操作
          • -f:強行關閉應用程序
          • -l:註銷當前用戶
          • -r:關機並重啓
          • -t: 時間:設置關機倒計時
          • -c: “消息內容”:輸入關機對話框中的消息內容(不能超127個字符)
      • 例子: Shutdown -s -t 1320 (注意:引號不輸入,參數之間有空格,1320的單位是秒)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章