itoa函数,srpintf()函数 ,atoi函数

itoa函数,srpintf()函数 ,atoi函数

itoa()函数

*itoa()原型: char *itoa( int value, char string,int radix);

原型说明:

输入参数:

value:要转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。

功能:将整数value 转换成字符串存入string 指向的内存空间 ,radix 为转换时所用基数(保存到字符串中的数据的进制基数)。

返回值:函数返回一个指向 str,无错误返回。

注意:itoa不是一个标准的c函数,他是windows特有的,跨平台写程序,要用sprintf。

#include <stdio.h>
#include <ctype.h>


//整数的各位数字加‘0’转换为char型并保存到字符数组中                                                                                           
int itoa(int n, char s[])
{
    int i;
    int j;
    int sign;

    sign = n;    //记录符号
    if(sign < 0)
    {
       n = -n;  //变为正数处理 
    }

    i = 0;
    do{
        s[i++] = n % 10 + '0';  //取下一个数字
    }while((n /= 10) > 0);

    if(sign < 0 )
    {
        s[i++] = '-';
        s[i] = '\0';
    }

    for(j = i; j >= 0; j-- )
    {
        printf("%c \r\n", s[j]);
    }
    return 0;
}
int main()
{
    int n;
    char s[20];

    n = -688;
    itoa(n, s);
    return 0;
}

srpintf()函数的功能也非常强大:效率比一些字符串操作函数要高;而且更具灵活性;可以将想要的结果输出到指定的字符串中,也可作为缓冲区,而printf只能输出到命令行上~

头文件:stdio.h

函数功能:格式化字符串,将格式化的数据写入字符串中。

函数原型:int sprintf(char *buffer, const char *format, [argument]…)

参数:

(1)buffer:是char类型的指针,指向写入的字符串指针;

(2)format:格式化字符串,即在程序中想要的格式;

(3)argument:可选参数,可以为任意类型的数据;

函数返回值:buffer指向的字符串的长度;

用处:

(1)格式化数字字符串:在这点上sprintf和printf的用法一样,只是打印到的位置不同而已,前者打印给buffer字符串,后者打印给标准输出,所以sprintf也可以用来将整型转化为字符串,比itoa效率高且如此地简便~比如:sprintf(buffer, “%d”, 123456);执行后buffer即指向字符串“123456”~

(2)连接字符:

下面通过两个例子来说明这个问题:

(a)连接以’\0’结束的字符串:

#include<stdio.h>  
int main()  
{  
    char buffer[10];  
    char *a = “1234”;  
    char *b = “5678”;  
    sprintf(buffer, ”%s%s”, a, b);  
    printf(”%s\n”, buffer);  
    return 0;  
}  
#include<stdio.h>
int main()
{
 char buffer[10];
  char *a = "1234";
 char *b = "5678";
 sprintf(buffer, "%s%s", a, b);
   printf("%s\n", buffer);
  return 0;
}

在这里插入图片描述

atoi()原型: int atoi(const char *str );

函数功能:把字符串转换成整型数。

参数str:要进行转换的字符串

返回值:每个函数返回 int 值,此值由将输入字符作为数字解析而生成。 如果该输入无法转换为该类型的值,则atoi的返回值为 0

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a;
    char *ptr1 = "-12345";

    a = atoi(ptr1);

    printf("a = %d,%d/n", a);

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm 2021.2.3激活码(已测有效)

    pycharm 2021.2.3激活码(已测有效),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    1.4K
  • 产生随机数算法[通俗易懂]

    产生随机数算法[通俗易懂]两个办法帮你解决如何在Java中产生随机数http://cd.qq.com     随机数在日常的应用和开发中经常会见到,比如说某些系统会为用户生成一个最初的初始化密码,这就是一个随机数。如何生成这个随机数,不同的开发工具的方法也不一样。在应用中,Java是应用最为广泛的开发工具之一,如何在Java中产生随机数,也是很多开发者在初学随机数时的一个必修课,在此为读者贡献两个办法帮你

    2022年7月26日
    6
  • java dom4j 添加节点_Java dom4j获取,添加,删除,查找,设置Element节点方法「建议收藏」

    java dom4j 添加节点_Java dom4j获取,添加,删除,查找,设置Element节点方法「建议收藏」Javadom4j获取,添加,删除,查找,设置Element节点方法1.获取文档的根节点.ElementrootElm=document.getRootElement();2.取得某节点的单个子节点.ElementmemberElm=root.element(“member”);//”member”是节点名3.取得节点的文字Stringtext=memberElm.getText()…

    2022年7月14日
    38
  • Python range() 函数用法

    Python range() 函数用法

    2021年10月21日
    59
  • IntelliJ IDEA 2021.7.15 x64有了激活码在哪激活【2021.7最新】

    (IntelliJ IDEA 2021.7.15 x64有了激活码在哪激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSW…

    2022年3月21日
    49
  • A Singular Value Thresholding Algorithm for Matrix Completion

    A Singular Value Thresholding Algorithm for Matrix Completion前提假设假设存在一个未知的方阵M∈Rn×nM\inR^{n\timesn}M∈Rn×n,其中存在有mmm个采样得到的实例:{Mij:(i,j)∈Ω}\{M_{ij}:(i,j)\in\Omega\}{Mij​:(i,j)∈Ω},其中Ω\OmegaΩ是基数为mmm的随机子集。换句话说,就是在MMM中,存在mmm个已知的元素。前言大部分秩为rrr的矩阵MMM可以通过求解下面的优化问题来解决:minimize⁡∥X∥∗ subject to Xij=Mij,(i,j)∈

    2022年5月29日
    30

发表回复

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

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