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] = '
#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;
}
'; } 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;}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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