C语言整型转字符串

        最近偶然使用write函数时,想要将字符串、整型数等类型写入文件,多次写入的话看着太乱,就想着写个字符串数组,一次都写进去,这时问题来了,该怎么将整型数转为字符串?

        一番查找,有所收获,故而记录以下,方便日后使用。

       使用函数sprintf

 int sprintf( char *str,const char * format,.........);

        关于这个函数sprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关于参数format字符串的格式请参考printf()。

        直接上示例看一下是怎么用的:

// 获取系统时间
   char ch[10];
   time_t times;
   time(&times);
   struct tm *tim = localtime(&times);

// 将时间转为字符串
    sprintf(ch, "%d:%d:%d", tim->tm_hour, tim->tm_min, tim->tm_sec);

        获取的时间结构体tim里面的参数都是整型的,想要转为“16:25:32”的格式字符串,只需将存放结果的数组放到参数1,参数二是你要以什么格式放到数组,参数三是格式对应的整型数。

注意:参数二格式那里是参数三的格式

        既然写到sprintf函数,此时就要提一下sscanf函数了,他的作用与sprintf函数相反,即sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。

int sscanf (const char *str,const char * format,........);

以下是他的使用情况:

//结构体----用于线程传参
struct FILE_TIME info;

// 将主函数传过来的时间参数转化一下
sscanf(argv[1], "%d:%d:%d", &info.hour, &info.min, &info.sec);

将外界传参argv[]的字符串以 “%d:%d:%d“ 的格式输入到三个参数中

注意:这里的格式是参数三的格式

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值