首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问空字符串中插入整数

2012-02-11 
请教空字符串中插入整数char buff[10]//长度10double temp-102.2double temp132.33如何将temp和te

请教空字符串中插入整数
char buff[10]=" ";//长度10
double temp=-102.2;
double temp1=32.33;
如何将temp和temp1放入buff也就是插入buff最前,最后得到新的buff,长度同样是10
buff="-102.2 "//长度10
buff="32.33 "//长度10

而且每次插入的数长度位数不确定,但不会超过10个长度
请问有没有相关的函数可以使用?
请高人指点

[解决办法]
sprintf(buff,"%d", temp);
[解决办法]
强制类型转换,然后用指针操作...

C/C++ code
#include <stdio.h>int main(){    int i;    char buff[10];//长度10    double temp=-102.2;    double temp1=32.33;    double* ptr = (double*)buff;    for (i = 0 ; i < 10; i++)        buff[i] = ' ';    ptr[0] = temp;    ptr[1] = temp1;    return 0;    }
[解决办法]
C/C++ code
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){    char buff[10];    double temp = -102.2;    sprintf(buff, "%.1f", temp); //这里要注意小数位    //double temp2 = 32.33;    //sprintf(buff, "%.2f", temp);        //增加空格    int i;    for (i = strlen(buff); i < sizeof(buff) - 1; i++)    {        buff[i] = ' ';    }    buff[i] = '\0'; //保证最后的\'0'        printf("[%s]\n", buff);        system("pause");    return 0;}
[解决办法]
首先,buf的内容为10个空格就错了,只能是9个空格。。
C/C++ code
char buf2[10];gcvt(temp, 10, buf2);//gcvt()的第二个参数是temp的位数(不包括小数点),这里取10,是buf2的大小strncpy(buf, buf2, strlen(buf2)); 

热点排行