c++字符数组字符串相互转换,数与字符数组的相互转换

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    
    
    char s[10];
    //1.数转字符数组
    itoa(123,s,10); //使用itoa将123按照10进制转化存到s中,这个方式只适合于整数
    printf("%s\n",s);

    sprintf(s,"%d",123);//使用sprintf将123按照%d输出(不是真的输出到控制台),输出的结果存放到s中
    printf("%s\n",s);

    sprintf(s,"%.1f",123.8);//浮点数的转换
    printf("%s\n",s);
    //2.字符数组转数
    itoa(123,s,10);

    int num = atoi(s);
    printf("%d\n",num);//只适用于整数,将s转化为数字

    char str1[] = "15";
    char str2[] = "15.455";
    int i;
    float fp;
    sscanf( str1, "%d", &i ); // 将字符串转换成整数 i = 15
    sscanf( str2, "%f", &fp ); // 将字符串转换成浮点数 fp = 15.455000
    printf("%d %.3f\n",i,fp);

    //3.字符数组转化为字符串
    string name;
    char buf[] = "I am jack";
    name = buf;
    printf("%s\n",name.begin());
    //4.字符串转化为字符数组
    name = "I am Tom";
    strcpy(buf,name.c_str());
    printf("%s\n",buf);
    system("pause");
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44932835/article/details/112989980