c語言怎麼將數位轉換成字串

2023-01-04 18:01:04

c語言將數位轉換成字串的方法:1、ascii碼操作,在原數位的基礎上加「0x30」,語法「數位+0x30」,會儲存數位對應的字元ascii碼;2、使用itoa(),可以把整型數轉換成字串,語法「itoa(number1,string,數位);」;3、使用sprintf(),可以能夠根據指定的需求,格式化內容,儲存至指標指向的字串。

本教學操作環境:windows7系統、c99版本、Dell G3電腦。

c語言將數位轉換成字串的幾種方法

方法1、ascii碼操作:數位+0x30

由於char型別的儲存形式是ascii碼數值,所以可以加上數位0的ascii碼48,即0x30,儲存數位對應的字元ascii碼。

#include <stdio.h>

int main()
{
   	char str1 = 'c'; // 隨便初始化一下
	str1 = 0x30 + 5;
	printf("str1: %c\n", str1);
	printf("str1: %d\n", str1);

   
   return 0;
}
登入後複製

1.png

此處擴充套件一句,由於儲存字元的本質是ascii碼,所以使用uint8_t或其他型別的變數/陣列來儲存字元都是可行的。本人專案中就是使用u8來儲存的,好處在於該資料結構一定會是8位元的,也確定了其無符號的特性。

方法2、使用itoa()

這是cstdlib非標準庫的函數。

itoa (表示 integer to alphanumeric)是把整型數轉換成字串的一個函數。

該函數用法為

char *itoa (int value, char *str, int base);
登入後複製
  • value是原數位

  • str是要儲存進的字串指標

  • base是指定的數位進位制

一個例子是:

#include <stdlib.h>
#include <stdio.h>
int main()
{
    int number1 = 123456;
    int number2 = -123456;
    char string[16] = {0};
    itoa(number1,string,10);
    printf("數位:%d 轉換後的字串為:%s\n",number1,string);
    itoa(number2,string,10);
    printf("數位:%d 轉換後的字串為:%s\n",number2,string);
    return 0;
}
登入後複製

2.png

方法3:sprintf()函數

這是stdio標準庫函數,該函數能夠根據指定的需求,格式化內容,儲存至指標指向的字串。

sprintf() 函數的宣告。

int sprintf(char *str, const char *format, ...)
登入後複製
  • str -- 這是指向一個字元陣列的指標,該陣列儲存了 C 字串。

  • format -- 這是字串,包含了要被寫入到字串 str 的文字。它可以包含嵌入的 format 標籤,format 標籤可被隨後的附加引數中指定的值替換,並按需求進行格式化。format 標籤屬性是 %[flags][width][.precision][length]specifier

範例:

#include <stdio.h>
#include <math.h>

int main()
{
   char str[80];

   sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   
   return(0);
}
登入後複製

3.png

【相關推薦:C語言視訊教學、】

以上就是c語言怎麼將數位轉換成字串的詳細內容,更多請關注TW511.COM其它相關文章!