c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为十六进制字符串(char [])...
c語言中將整數(shù)轉(zhuǎn)換成字符串
Given an ASCII string (char[]) and we have to convert it into Hexadecimal string (char[]) in C.
給定一個(gè)ASCII字符串(char []),我們必須在C中將其轉(zhuǎn)換為十六進(jìn)制字符串(char [])。
Logic:
邏輯:
To convert an ASCII string to hex string, follow below-mentioned steps:
要將ASCII字符串轉(zhuǎn)換為十六進(jìn)制字符串,請(qǐng)執(zhí)行以下步驟:
Extract characters from the input string and convert the character in hexadecimal format using %02X format specifier, %02X gives 0 padded two bytes hexadecimal value of any value (like int, char).
從輸入字符串中提取字符,并使用%02X格式說明符將其轉(zhuǎn)換為十六進(jìn)制格式, %02X為0填充兩個(gè)字節(jié)的任意值的十六進(jìn)制值(如int , char )。
Add these two bytes (characters) which is a hex value of an ASCII character to the output string.
將這兩個(gè)字節(jié)(字符)添加為輸出字符串,這兩個(gè)字節(jié)是ASCII字符的十六進(jìn)制值。
After each iteration increase the input string's loop counter (loop) by 1 and output string's loop counter (i) by 2.
每次迭代后,將輸入字符串的循環(huán)計(jì)數(shù)器( loop )增大1,將輸出字符串的循環(huán)計(jì)數(shù)器( i )增大2。
At the end of the loop, insert a NULL character to the output string.
在循環(huán)末尾,在輸出字符串中插入一個(gè)NULL字符。
Example:
例:
Input: "Hello world!"Output: "48656C6C6F20776F726C6421"C程序?qū)SCII char []轉(zhuǎn)換為十六進(jìn)制char [] (C program to convert ASCII char[] to hexadecimal char[])
In this example, ascii_str is an input string that contains "Hello world!", we are converting it to a hexadecimal string. Here, we created a function void string2hexString(char* input, char* output), to convert ASCII string to hex string, the final output string is storing in hex_str variable.
在此示例中, ascii_str是包含“ Hello world!”的輸入字符串。 ,我們將其轉(zhuǎn)換為十六進(jìn)制字符串。 在這里,我們創(chuàng)建了一個(gè)函數(shù)void string2hexString(char * input,char * output) , 將ASCII字符串轉(zhuǎn)換為十六進(jìn)制字符串 ,最終的輸出字符串存儲(chǔ)在hex_str變量中。
#include <stdio.h> #include <string.h>//function to convert ascii char[] to hex-string (char[]) void string2hexString(char* input, char* output) {int loop;int i; i=0;loop=0;while(input[loop] != '\0'){sprintf((char*)(output+i),"%02X", input[loop]);loop+=1;i+=2;}//insert NULL at the end of the output stringoutput[i++] = '\0'; }int main(){char ascii_str[] = "Hello world!";//declare output string with double size of input string//because each character of input string will be converted//in 2 bytesint len = strlen(ascii_str);char hex_str[(len*2)+1];//converting ascii string to hex stringstring2hexString(ascii_str, hex_str);printf("ascii_str: %s\n", ascii_str);printf("hex_str: %s\n", hex_str);return 0; }Output
輸出量
ascii_str: Hello world! hex_str: 48656C6C6F20776F726C6421Read more...
...
Octal literals in C language
C語言的八進(jìn)制文字
Working with octal numbers in C language
使用C語言處理八進(jìn)制數(shù)
Working with hexadecimal numbers in C language
使用C語言處理十六進(jìn)制數(shù)
翻譯自: https://www.includehelp.com/c/convert-ascii-string-to-hexadecimal-string-in-c.aspx
c語言中將整數(shù)轉(zhuǎn)換成字符串
總結(jié)
以上是生活随笔為你收集整理的c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为十六进制字符串(char [])...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: avr计数_使用8位LCD创建计数器|
- 下一篇: Python程序检查字符串是否是回文