1. 程式人生 > 其它 >C/C++ atol函式- C語言零基礎入門教程

C/C++ atol函式- C語言零基礎入門教程

目錄

零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門

一.ltoa 函式簡介

stdlib.hatol 函式,可用於將 char 字串轉為 long 長整數型別,語法如下:

/*
*描述:此類函式是把 value轉換成一個以空格結尾的字串,並存儲在string中(至多33個位元組)。
*
*引數:
*   [in] nptr:字串型別
*
*返回值:返回轉換後的長整型數
*/
long atol(const char *nptr);

二.int/long/unsigned long 區別

C 語言的整形,分類兩類,一種是有符號的(正數/負數),一種是無符號的(預設是大於等於零);

1.無符號整形(16 位系統)

unsigned int 取值範圍          :0~65535
unsigned short int 取值範圍    :0~65535
unsigned long int 取值範圍     :0~4294967295

無符號整形,預設重 0 開始,永遠不可能有負數;

2.有符號整形(16 位系統)

int 取值範圍           :-32768~+32767
short int 取值範圍     :-32768~+32767
long int 取值範圍      :-2147483648~+2147483647

有符號整形有正負區間(包含大於 0 和小於 0 兩個區間),實際上總長度和無符號整形一樣;

3.int 和 long 區別

早期的作業系統是 16 位系統

int用二位元組表示,範圍是-32768~32767;
long用4位元組表示,範圍是-2147483648~2147483647;

後來發展到 32 位作業系統

int 用4位元組表示,與long相同,範圍是-2147483648~2147483647;

目前的作業系統已發展到 64 位作業系統,但因程式編譯工藝的不同,兩者表現出不同的差別:

32位編譯系統:int佔四位元組,與long相同,範圍是-2147483648~2147483647;
64位編譯系統:int佔四位元組,long佔8位元組,long資料範圍變為:-2^63 ~ 2^63-1;

三.atol 函式函式實戰

/******************************************************************************************/
//@Author:猿說程式設計
//@Blog(個人部落格地址): www.codersrc.com
//@File:C/C++ atol函式
//@Time:2021/08/16 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/


#include "stdafx.h"
#include <stdio.h>
#include "windows.h"

#pragma warning(disable: 4996)

int _tmain(int argc, _TCHAR* argv[])
{
    char szDst[1024] = "";
    int nSrc = 123;
    printf("atol函式計算結果 %d \n", atol("13456"));
    printf("atol函式計算結果 %d \n", atol("0"));
    printf("atol函式計算結果 %d \n", atol("789"));
    printf("atol函式計算結果 %d \n", atol("123.123")); //預設轉為整數
    printf("atol函式計算結果 %d \n", atol("-9"));

    system("pause");
    return 0;
}
/*
輸出:
atol函式計算結果 13456
atol函式計算結果 0
atol函式計算結果 789
atol函式計算結果 123
atol函式計算結果 -9
請按任意鍵繼續. . .
*/

看到這裡是不是很疑惑,感覺和前面介紹的 atoi 函式沒什麼區別,其實確實沒有什麼區別,atol 函式主要是針對 long 型別,在數值比較小的時候,使用 atol 函式和 atoi 函式都一樣;

四.猜你喜歡

  1. C 語言 陣列下標越界和記憶體溢位區別
  2. C 語言 使用指標遍歷陣列
  3. C 語言 指標和陣列區別
  4. C 語言 指標陣列和陣列指標區別
  5. C 語言 野指標
  6. C 語言 函式值傳遞和址傳遞
  7. C 語言 函式不定長引數
  8. C 語言 函式指標
  9. C 語言 指標函式
  10. C 語言 回撥函式 callback
  11. C 語言 #pragma once
  12. C 語言 #include <> 與 #include “” 區別
  13. C 語言 const 修飾函式引數
  14. C 語言 const 和 define 區別
  15. C 語言 #運算子
  16. C 語言 ##運算子
  17. C 語言 __VA_ARGS__
  18. C 語言 ##__VA_ARGS__
  19. C 語言 函式不定長引數 ##__VA_ARGS__經典案例
  20. C 語言 va_start / va_end / va_arg 自定義 printf 函式
  21. C 語言 main 函式
  22. C 語言 main 函式引數 main(int argc, char *argv[])
  23. C 語言 區域性變數
  24. C 語言 全域性變數
  25. C 語言 全域性變數和區域性變數區別
  26. C 語言 static
  27. C 語言 extern
  28. C/C++ Unicode 和多位元組區別
  29. C/C++ wprintf 輸出中文亂碼
  30. C/C++ char 和 wchar_t 相互轉換

未經允許不得轉載:猿說程式設計 » C/C++ atol 函式

本文由部落格 - 猿說程式設計 猿說程式設計 釋出!