整型与字符串转换

  我们写程序的时候经常会遇到整型和字符串相互转换的问题,这里要用到几个函数,itoa(),atoi(),sprintf()下面来介绍下这几个函数的具体用法!

itoa
  功 能:把一整数转换为字符串
  用 法:char *itoa(int value, char *string, int radix);
  详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
  参数:
  value: 待转化的整数。
  radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
  * string: 保存转换后得到的字符串。
  返回值:
  char * : 指向生成的字符串, 同*string。
  备注:该函数的头文件是"stdlib.h"

//itoa用法 
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int main(){
    int number = 123456;
    char str[20];
    itoa(number,str,10);
    printf("integer=%d,string=%s
",number,str);
    cout<<"str[0]: "<<str[0]<<endl; 
} 

atoi
  C语言库函数名: atoi
  功 能: 把字符串转换成整型数.
  名字来源:array to integer 的缩写.
  函数说明: atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 时停止转换,返回整型数。
  原型: int atoi(const char *nptr);
  需要用到的头文件: #include <stdlib.h>

//atoi用法
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int main(){
    char *str = "123456";
    int n = atoi(str);
    printf("string=%s, int=%d
",str,n);
    return 0;
}

sprintf()

  1. 可以将变量打印到字符串里,获取数字的字符形式

//sprintf()用法 
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
    char str[100];
    int n = 1234;
    sprintf(str,"%d",n);
    cout<<str<<endl;
    return 0;
}

原文地址:https://www.cnblogs.com/geziyu/p/10388251.html