我需要解决以下练习题:
编写一个程序,获取字符串的前几个字符和一个八进制整数,并将其写入另一个之前为空的字符串中,然后使用函数sscanf和sprintf将第二个字符串的内容以十进制形式显示出来。
例如,如果用户输入12(八进制),则系统必须显示10(十进制)。
在我的scanf之后,数组seconda是“12325”。
问题是我不知道如何让程序理解这个字符串是一个八进制数,并且如何使用sprintf将其转换为十进制。
以下是我的当前代码:
编写一个程序,获取字符串的前几个字符和一个八进制整数,并将其写入另一个之前为空的字符串中,然后使用函数sscanf和sprintf将第二个字符串的内容以十进制形式显示出来。
例如,如果用户输入12(八进制),则系统必须显示10(十进制)。
在我的scanf之后,数组seconda是“12325”。
问题是我不知道如何让程序理解这个字符串是一个八进制数,并且如何使用sprintf将其转换为十进制。
以下是我的当前代码:
#include <stdio.h>
int main(void) {
char prima[] = "12325dsdfa";
char secodna[500];
sscanf_s(prima, "%[0123456789]o", secodna, 500);
}