求助:关于输出文件序列的命名问题
我用C写了一个程序,需要输出一组文件序列,我希望文件的名字被命名成例如
“sdtv_000.bmp,sdtv_001.bmp......”的形式,该用怎样的方法呢?
[解决办法]
char name[] = "sdtv_ ";
char file[100];
for(i=0;i <1000;i++)
sprintf(file, "%s%3d.bmp ",name,i);
[解决办法]
char file[100];
for(i=0;i <1000;i++)
sprintf(file, "sdtv_%3d.bmp ",name,i);//这样就可以了
[解决办法]
#include <stdio.h>
#include <stdlib.h>
char* int2str(int);
void main()
{
char* text;
text=int2str(123);
printf( "%s\n ",text);
system( "PAUSE ");
}
char* int2str(int n)
{
char res[4];
char a, b, c;
c=n%10;
b=((n-a)/10)%10;
a=(n-b*10-c)/100;
res[0]=a+48;
res[1]=b+48;
res[2]=c+48;
res[4]= '\0 ';
return res;
}
[解决办法]
楼上是不是把int 转化成 char 啊
有库函数的 itoa 就可以了。
//可是怎么才能让数字部分写成“sdtv_000.bmp ",而不是“sdtv_ 0.dpx”这个样子呢?
把000转化成char型就可以了。
[解决办法]
for(i=0;i <1000;i++)
{
if(i <10)
sprintf(file, "sdtv_00%d.bmp ",name,i);
else if(i> 10&&i <100)
sprintf(file, "sdtv_0%d.bmp ",name,i);
else
sprintf(file, "sdtv_%d.bmp ",name,i);
}
[解决办法]
sprintf(file, "sdtv_%03d.bmp ",name,i);
改改楼上的楼上的楼上的就可以了。