C++中int转string方法

C++中int转string方法一点睛需要用到snprintf()。函数原型intsnprintf(char*str,size_tsize,constchar*format,…)功能:将可变参数“…”按照format的格式格式化为字符串,然后再将其拷贝至str中。(1)如果格式化后的字符串长度<size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符(…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一 点睛

需要用到snprintf()。

函数原型

int snprintf(char *str, size_t size, const char *format, ...)

功能:

将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至str中。

(1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符(‘\0’)。

(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符(‘\0’),返回值为欲写入的字符串长度。

(3) 若成功则返回预写入的字符串长度,若出错则返回负值。

二 snprintf实战

1 代码

#include<stdio.h>
int main (){
    char a[20];
    int i = snprintf(a, 9, "%012d", 12345);
    printf("i = %d, a = %s", i, a);
    return 0;
}

2 运行

[root@localhost charpter03]# g++ 0306.cpp -o 0306
[root@localhost charpter03]# ./0306
i = 12, a = 00000001

3 说明

%012d的格式是指使输出的int型的数值以12位的固定位宽输出,如果不足12位,则在前面补0;如果超过12位,则按实际位输出。如果输出的数值不是int型,则进行强制类型转换为int型,之后按照前面格式输出。那就先得到000000012345,再取前面(9-1)位,即8位,最终输出00000001。

将int转换为string,代码通常可以这样写:

static inline std::string i64tostr(long long a)
{
    char buf[32];
    snprintf(buf,sizeof(buf),"%lld",a);
    return std::string(buf);
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184769.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月7日 下午9:46
下一篇 2022年10月7日 下午10:00


相关推荐

  • VMware虚拟机安装Ubuntu16-18系统超详细过程(含下载地址)

     现在越来越多的服务器使用linux系统,甚至不少开发人员个人机也使用linux系统,一方面linux功能越来越强大、稳定,一方面linux的使用体验也越来越好,各种图形桌面,浏览器,办公软件,开发工具一应俱全,并且linux上的软件基本上全套都是开源免费。 Linux现在比较流行的就是Ubuntu、centos、还有老牌redhat等,本文主要介绍Ubuntu16的下载地址和详细的傻瓜式安装,…

    2022年4月7日
    46
  • 显示搜索dota2协调服务器,老司机教你处理搜索dota2游戏协调服务器中【操作流程】…[通俗易懂]

    显示搜索dota2协调服务器,老司机教你处理搜索dota2游戏协调服务器中【操作流程】…[通俗易懂]win7系统有很多人都喜欢使用,我们操作的过程中常常会碰到win7系统搜索dota2游戏协调服务器中的问题。如果遇到win7系统搜索dota2游戏协调服务器中的问题该怎么办呢?很多电脑水平薄弱的网友不知道win7系统搜索dota2游戏协调服务器中究竟该怎么解决?其实不难根据下面的操作步骤就可以解决问题1:DOTA2服务器蹦了之后,进入DOTA2,发现最顶端先是提示:“搜索DOTA2协调服务器中…”…

    2022年5月13日
    132
  • threadid=1: thread exiting with uncaught except…

    threadid=1: thread exiting with uncaught except…

    2021年8月25日
    61
  • 入门指南_索尼相机操作入门指南

    入门指南_索尼相机操作入门指南很多摄影初学者 在一开始 满怀希望地购买相机之后 结果连说明书都不看 就直接上手使用了 但相机上的好多参数他也不会调节 结果使用了几个月之后 发现自己用相机拍摄出来的照片还是一塌糊涂 甚至有人觉得还没有手机拍摄得好看 然后将相机丢至一边 这样一来 你既花了钱 又没办法享受摄影的快乐 岂不是得不偿失 几款主流索尼相机展示小编在前面也提到过几种索尼相机的使用说明 但相机是一个总是推陈出新的产

    2026年3月26日
    4
  • 计算机网络协议详解怎么写_自考短线好还是长线好

    计算机网络协议详解怎么写_自考短线好还是长线好计算机网络协议详解:本篇文章主要总结一些常见的网络基础概念以及Linux系统中的网络相关设置方法,具体包括OSI七层协议、TCP/IP协议相关内容。

    2022年10月2日
    9
  • centOS7 查看防火墙状态

    centOS7 查看防火墙状态centOS7 查看防火墙状态

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号