如题,请问怎么用sprintf函数将一串数字挨个存到数组里,如13存为“1”和“3”
如果不好实现的话有其他方案可以实现吗
网上搜到的答案都不太详细
书里的介绍也比较少
你是说一个整形用sprintf存入一个字符数组吗?如果是的,下面是一个简单的实现:(将相应数据存入字符数组,就是sprintf的格式字符串对应相应的数据类型即可,下面的例子即使%d对应int型的数字,)
参考链接:
sprintf_百度百科
#include <stdio.h>
#include <string.h>
int main(void){
int num = 123456789;
//https://baike.baidu.com/item/sprintf/9703430?fr=kg_general
char buffer[100];
sprintf(buffer,"%d",num);
printf("buffer=%s\n",buffer);
for(int i=0;i<strlen(buffer);i++){
printf("buffer[%d]=%c\n",i,buffer[i]);
}
return 0;
}
你要存到什么类型的数组啊?整型,还是字符型?
如果说你这个是一个int值,然后就需要逐个去除个位数
int num=13;
while(num%10)
{
cout<<"num%10 = "<<num%10<<endl;
// 在这个地方进行存储
num/=10;
}
给你找了一篇非常好的博客,你可以看看是否有帮助,链接:sprintf拼接字符串