struct Deal
{
char card[9]; //卡号
char dealtime[13]; // 交易时间yyyymmddhhmm
float dealamount; //交易金额
char dealtype[5]; // 交易类型—— "c" --消费 "r" -- 充值
};
struct Deal deal;
fprintf(fp1,"%-8s,%-12s,%7.2f,%-4s\n",deal.card,deal.dealtime,deal.dealamount,deal.dealtype);
给出了部分代码,我想每一行都对齐地写入(主要是后面dealmount和dealtype的写入),
我写入的结果是这样的
但我想要的结果是这样的
金额和消费类型都是整齐的写入,我的就对不齐,怎么弄呀,小白求教。
可以写个函数,将浮点型的效费金额转成固定长度的字符,参考如下代码:如有帮助,请采纳一下,谢谢。
//将浮点型转换成固定长度的字符串
float a = 22.33333;
char buf[20] = {0};
sprintf(buf,"%.2f",a);
std::string ss = buf;
while(ss.length() < 8) //固定长度设为8,不足位前面用空格填充
ss = " "+ ss;
printf("%s\n",ss.c_str());