C语言把整数转换为字符串
各位可能在网上看到用以下函数可以将整数转换为字符串:
itoa(); //将整型值转换为字符串
ultoa(); // 将无符号长整型值转换为字符串
请注意,上述函数与ANSI标准是不兼容的,很多编译器根本不提供这几个函数,本文就不介绍了,没什么意义。
将整数转换为字符串而且能与ANSI标准兼容的方法是使用sprintf()和snprintf()函数,在实际开发中,我们也是这么做的。
1、把整数/长整数格式化输出到字符串
标准的C语言提供了atoi和atol函数把字符串转换为整数和长整数,但是没有提供把整数/长整数转换为字符串的库函数,而是采用sprintf和snprintf函数格式化输出到字符串。
函数声明:
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
示例(book98.c)
/*
* 程序名:book98.c,此程序演示格式化输出sprintf和snprintf函数。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>
#include <string.h>
int main()
{
int ii=1024;
long ll=12345678901234;
char strii[21],strll[21];
memset(strii,0,sizeof(strii)); memset(strll,0,sizeof(strll));
// 把整数ii转换为字符串,存放在strii中。
sprintf(strii,"%d",ii);
printf("strii=%s\n",strii); // 输出strii=1024
// 把长整数ll转换为字符串,存放在strll中。
sprintf(strll,"%ld",ll);
printf("strll=%s\n",strll); // 输出strll=12345678901234
memset(strii,0,sizeof(strii)); memset(strll,0,sizeof(strll));
// 把整数ii转换为字符串,存放在strii中,只保留前10个字符。
snprintf(strii,11,"%d",ii);
printf("strii=%s\n",strii); // 输出strii=1024
// 把长整数ll转换为字符串,存放在strll中,只保留前10个字符。
snprintf(strll,11,"%ld",ll);
printf("strll=%s\n",strll); // 输出strll=1234567890
}
运行结果

2、注意事项
snprintf函数在unix和windows平台下的表现略有不同,在Linux平台下,保留size-1个字符,在windows平台下,保留size个字符。
3、版权声明
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢。
C语言把整数转换为字符串的更多相关文章
- c语言实现整数转换为字符串——不考虑负数
#include <stdio.h> #include <string.h> #define MAX_LEN 16 #define ESP 1e-5 typedef int i ...
- C语言中将数字转换为字符串的方法
C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h># ...
- UVa 725 简单枚举+整数转换为字符串
Division Write a program that finds and displays all pairs of 5-digit numbers that between them use ...
- C语言把数字转换为字符串的函数
博主原文 C语言itoa()函数和atoi()函数详解(整数转字符C实现) C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. 1.int/float to st ...
- C语言把浮点数转换为字符串
目录 1.把float/double格式化输出到字符串 2.注意事项 3.版权声明 1.把float/double格式化输出到字符串 标准的C语言提供了atof函数把字符串转double,但是没有提供 ...
- c/c++将整数转换为字符串
#include <iostream> using namespace std; int main(int argc, char **argv) { ; iint i,j; ],e[]; ...
- C语言实现整数转字符串
#include <stdio.h> void intToString(int N,char arr[]){ //仅支持有符号4字节的int类型,范围-2147483648 - 21474 ...
- 利用python递归实现整数转换为字符串
def trans(num): if num // 10 == 0: return '%s'%num else: return trans(num//10)+'%s'%(num%10) a=trans ...
- 题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456".
题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456". 关键:怎么将一个数字转换为字符? [cpp] view plaincopy ...
随机推荐
- seo搜索优化教程12-网站SEO诊断
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉信息科技强势推出seo搜索优化教程.此为seo教程第12课 行业分析 在搜索引擎中检索自己的站点,在检索结果及相关网站中分析自己在行业内的 ...
- 基于Canal和Kafka实现MySQL的Binlog近实时同步
前提 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台.优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存.更新或者软删除)到一个另 ...
- 在Tomcat上发布Web项目的方式
一. Tomcat的使用: 安装:解压压缩包即可 注意:安装目录不能有中文 目录结构: ①bin:可执行文件 ②conf:可执行文件 ③lib:依赖的jar包 ④logs:日志文件 ⑤:temp:临时 ...
- 在 centos6 上安装 LAMP
LAMP 代表的是 Linux, Apache, MySQL, 以及 PHP. 第一步,安装 Apache 使用 yum 安装 sudo yum install httpd 启动 httpd 服务 ...
- 【Weiss】【第03章】练习3.16:删除相同元素
[练习3.16] 假设我们有一个基于数组的表A[0,1...N-1],并且我们想删除所有相同的元素. LastPosition初始值为N-1,但应该随着相同元素被删除而变得越来越小. 考虑图3-61中 ...
- Spring 全局异常拦截根据业务返回不同格式数据 自定义异常
1.全局异常拦截:针对所有异常进行拦截 可根据请求自定义返回格式 2.自定义异常类 处理不同业务的异常 接下来开始入手代码: 1).自定义异常类 @ControllerAdvice//添加注解 记得开 ...
- Web_XML
第1章 XML简介 “当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用来结构化文档和数据的通用且适应性强的格式,它 ...
- 推荐一款优秀的web自动化测工具
在业务使用的自动化测试工具很多.有开源的,有商业化的,各有各得特色,各有各得优点!下面我就介绍几个我用过的一款非常优秀的国产自动化测试工具.在现有的自动化软件当中,都是以元素的name.id.xpat ...
- 如何编写shellcode
ShellCode的编写就是将函数或变量在内存中的间接地址改为函数或变量在内存中的直接地址,直接调用! 以MessageBox函数为例进行讲解如下 新建shellcode.cpp: 编写代码如下: 运 ...
- 关于Web2.0
前言:本来是想写HTML的,发现没什么好写的,就简单写一下Web2.0好了 什么是Web 2.0: "Web 2.0 is the business revolution in the co ...