c语言字符串10进制转换8进制和16进制的字符串(字符串很长)
时间: 2024-06-18 14:04:07 浏览: 16
C语言中,可以使用sprintf函数将10进制转换为8进制和16进制的字符串。
转换为8进制的字符串,可以使用"%o"格式控制符;转换为16进制的字符串,可以使用"%x"或"%X"格式控制符。
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int num = 123456789; // 待转换的10进制数
char octal_str[20], hex_str[20]; // 存储转换后的字符串
sprintf(octal_str, "%o", num); // 转换为8进制字符串
sprintf(hex_str, "%x", num); // 转换为16进制字符串
printf("转换为8进制字符串: %s\n", octal_str);
printf("转换为16进制字符串: %s\n", hex_str);
return 0;
}
```
相关问题
C语言字符串十进制转十六进制
以下是两种C语言字符串十进制转十六进制的方法:
方法一:
思路:用一个字符串数组存储0-F一共16个十六进制数。十进制数除16取余,余数对应字符串数组下标,用一个整型数组存储余数对应的字符串数组下标里的十六进制数。最后逆序输出整型数组里的元素。
```c
#include <stdio.h>
int main() {
char a[40]="0123456789ABCDEF";//用一个数组存储十六进制数
char b[100];//储存输入的十进制数对应的十六进制数
int n;
int cnt;//计数
scanf("%d",&n);//输入要转换的十进制数
if(n==0) printf("0");
while(n!=0) {
b[++cnt]=a[n%16];//这里cnt从1开始
n=n/16;
}
for(int i=cnt;i>0;i--)/*上面cnt从1开始所以i>0,不用输出b[0]。逆序输出*/
printf("%c",b[i]);
return 0;
}
```
方法二:
思路:先使用`strtol`函数将字符串转成十进制数,再通过`sprintf`函数将十进制数按十六进制字符串形式输出到字符数组保存。
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void) {
char str1[] = "87632394";
char str2[100] = {0};
char* endptr;
long data = 0;
data = strtol(str1,&endptr,10);
printf("data=%ld\r\n",data);
sprintf(str2,"%X",data);
printf("str2=%s\r\n",str2);
return 0;
}
```
c语言字符串转换16进制代码
你可以使用sprintf函数将C语言字符串转换为十六进制代码。下面是一个简单的例子:
```c
#include <stdio.h>
void stringToHex(const char* str, char* hex) {
int i = 0;
while (str[i] != '\0') {
sprintf(hex + (i*2), "%02X", str[i]);
i++;
}
}
int main() {
const char* str = "Hello, World!";
char hex[2 * strlen(str) + 1];
stringToHex(str, hex);
printf("Hexadecimal representation: %s\n", hex);
return 0;
}
```
这段代码将输出字符串 "Hello, World!" 的十六进制表示形式。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)