c语言中将整数转换成字符串
Given an ASCII string (char[]) and we have to convert it into octal string (char[]) in C.
给定一个ASCII字符串(char []),我们必须在C中将其转换为八进制字符串(char [])。
Logic:
逻辑:
To convert an ASCII string to octal string, follow below-mentioned steps:
要将ASCII字符串转换为八进制字符串,请执行以下步骤:
Extract characters from the input string and convert the character in octal format using %02o format specifier, %02o gives 0 padded two bytes octal value of any value (like int, char).
从输入字符串中提取字符,并使用%02o格式说明符将其转换为八进制格式, %02o给出0填充的两个字节的八进制值(例如int , char )。
Add these two bytes (characters) which is a octal value of an ASCII character to the output string.
将这两个字节(字符)添加为输出字符串,这两个字节是ASCII字符的八进制值。
After each iteration increase the input string's loop counter (loop) by 1 and output string's loop counter (i) by 2.
每次迭代后,将输入字符串的循环计数器( loop )增大1,将输出字符串的循环计数器( i )增大2。
At the end of the loop, insert a NULL character to the output string.
在循环末尾,在输出字符串中插入一个NULL字符。
Example:
例:
Input: "Hello world!"Output: "111415151540161516151441"
C程序将ASCII char []转换为八进制char [] (C program to convert ASCII char[] to octal char[])
In this example, ascii_str is an input string that contains"Hello world!", we are converting it to a octal string. Here, we created a function void string2OctalString(char* input, char* output),to convert ASCII string to octal string, the final output string is storing in oct_str variable.
在此示例中, ascii_str是包含“ Hello world!”的输入字符串。,我们将其转换为八进制字符串。 在这里,我们创建了一个函数void string2OctalString(char * input,char * output) ,将ASCII字符串转换为八进制字符串,最终的输出字符串存储在oct_str变量中。
#include <stdio.h>#include <string.h>//function to convert ascii char[] to octal-string (char[])void string2OctalString(char* input, char* output){int loop;int i; i=0;loop=0;while(input[loop] != '\0'){sprintf((char*)(output+i),"%02o", 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 oct_str[(len*2)+1];//converting ascii string to octal stringstring2OctalString(ascii_str, oct_str);printf("ascii_str: %s\n", ascii_str);printf("oct_str: %s\n", oct_str);return 0;}
Output
输出量
ascii_str: Hello world!oct_str: 111415151540161516151441
Read more...
...
Octal literals in C language
C语言的八进制文字
Working with octal numbers in C language
使用C语言处理八进制数
Working with hexadecimal numbers in C language
使用C语言处理十六进制数
翻译自: /c/convert-ascii-string-to-octal-string-in-c.aspx
c语言中将整数转换成字符串
c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为八进制字符串(char [])...