目錄
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.ltoa 函數簡介
在 stdlib.h
中 ultoa` 函數,可用於將 unsignedlong 無符號長整數類型轉為 char 字符串,語法如下:
/*
*描述:此類函數是把 value轉換成一個以空格結尾的字符串,並存儲在string中(至多33個字節)。
*
*參數:
* [in] value:unsigned long無符號長整數類型
* [in] string:字符串類型
* [in] radix:整數類型,轉換后的進制類型,可以轉為二進制/八進制/十六進制
*
*返回值:指向string這個字符串的指針
*/
char *ultoa(unsigned long value,char *string,int radix)
二.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 用 2 字節表示,范圍是-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;
三.ultoa 函數函數實戰
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C/C++ ultoa函數
//@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;
ultoa(nSrc, szDst, 10);
printf("%d 對應的十進制字符串是 %s \n", nSrc, szDst);
ultoa(nSrc, szDst, 8);
printf("%d 對應的八進制字符串是 %s \n", nSrc, szDst);
ultoa(nSrc, szDst, 16);
printf("%d 對應的十六進制字符串是 %s \n", nSrc, szDst);
ultoa(nSrc, szDst, 2);
printf("%d 對應的二進制字符串是 %s \n", nSrc, szDst);
system("pause");
return 0;
}
/*
輸出:
123 對應的十進制字符串是 123
123 對應的八進制字符串是 173
123 對應的十六進制字符串是 7b
123 對應的二進制字符串是 1111011
請按任意鍵繼續. . .
*/
看到這里是不是很疑惑,感覺和前面介紹的 itoa
函數沒什么區別,其實卻是沒有什么區別,ultoa
函數主要是針對 unsignedlong
類型,在數值比較小的時候,使用 itoa
函數和 ultoa
函數都一樣;
四.猜你喜歡
- C 語言 數組下標越界和內存溢出區別
- C 語言 使用指針遍歷數組
- C 語言 指針和數組區別
- C 語言 指針數組和數組指針區別
- C 語言 野指針
- C 語言 函數值傳遞和址傳遞
- C 語言 函數不定長參數
- C 語言 函數指針
- C 語言 指針函數
- C 語言 回調函數 callback
- C 語言 #pragma once
- C 語言 #include <> 與 #include “” 區別
- C 語言 const 修飾函數參數
- C 語言 const 和 define 區別
- C 語言 #運算符
- C 語言 ##運算符
- C 語言 __VA_ARGS__
- C 語言 ##__VA_ARGS__
- C 語言 函數不定長參數 ##__VA_ARGS__經典案例
- C 語言 va_start / va_end / va_arg 自定義 printf 函數
- C 語言 main 函數
- C 語言 main 函數參數 main(int argc, char *argv[])
- C 語言 局部變量
- C 語言 全局變量
- C 語言 全局變量和局部變量區別
- C 語言 static
- C 語言 extern
- C/C++ Unicode 和多字節區別
- C/C++ wprintf 輸出中文亂碼
- C/C++ char 和 wchar_t 相互轉換
未經允許不得轉載:猿說編程 » C/C++ ultoa 函數
本文由博客 - 猿說編程 猿說編程 發布!