Cara menukar nombor kepada rentetan dalam bahasa C: 1. Operasi kod ASCII, tambah "0x30" pada nombor asal, sintaksnya ialah "nombor + 0x30", dan kod ASCII aksara yang sepadan dengan nombor akan disimpan; 2 . Menggunakan itoa(), anda boleh menukar integer menjadi rentetan, sintaksnya ialah "itoa(nombor1, rentetan, nombor);"; penunjuk mengikut keperluan yang ditentukan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi c99, komputer Dell G3.
Beberapa kaedah menukar nombor kepada rentetan dalam bahasa C
Kaedah 1. Operasi kod ASCII: Nombor + 0x30
Memandangkan jenis aksara disimpan dalam nilai kod ASCII, anda boleh menambah kod ASCII 48 nombor 0, iaitu 0x30, untuk menyimpan kod ASCII aksara yang sepadan dengan nombor itu.
#include <stdio.h> int main() { char str1 = 'c'; // 随便初始化一下 str1 = 0x30 + 5; printf("str1: %c\n", str1); printf("str1: %d\n", str1); return 0; }
Satu ayat untuk dikembangkan di sini, memandangkan intipati menyimpan aksara ialah kod ascii, ia boleh digunakan untuk menggunakan uint8_t atau jenis pembolehubah/tatasusunan lain untuk menyimpan aksara . Dalam projek saya, u8 digunakan untuk penyimpanan Kelebihannya ialah struktur data mestilah 8-bit, dan ciri-cirinya yang tidak ditandatangani juga ditentukan.
Kaedah 2, gunakan itoa()
Ini ialah fungsi pustaka bukan standard cstdlib.
itoa (mewakili integer kepada alfanumerik) ialah fungsi yang menukarkan integer kepada rentetan.
Penggunaan fungsi ini ialah
char *itoa (int value, char *str, int base);
nilai ialah nombor asal
str ialah penuding rentetan kepada disimpan.
asas ialah asas nombor yang ditentukan
Contohnya ialah:
#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; }
Kaedah 3: fungsi sprintf()
Ini ialah fungsi perpustakaan standard stdio ini boleh memformat kandungan mengikut keperluan yang ditetapkan dan menyimpannya dalam rentetan yang ditunjuk kepada dengan penunjuk.
Pengisytiharan fungsi sprintf().
int sprintf(char *str, const char *format, ...)
str -- Ini ialah penunjuk kepada tatasusunan aksara yang menyimpan rentetan C.
format -- Ini ialah rentetan yang mengandungi teks yang akan ditulis pada rentetan str. Ia boleh mengandungi teg format terbenam, yang boleh digantikan dengan nilai yang ditentukan dalam parameter tambahan seterusnya dan diformatkan mengikut keperluan. Atribut teg format ialah %[flags][width][.precision][length]specifier
Contoh:
#include <stdio.h> #include <math.h> int main() { char str[80]; sprintf(str, "Pi 的值 = %f", M_PI); puts(str); return(0); }
[Cadangan berkaitan: Tutorial video bahasa C, Pengajaran pengaturcaraan]
Atas ialah kandungan terperinci Bagaimana untuk menukar nombor menjadi rentetan dalam bahasa c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!