当前位置: 首页 > news >正文

char int string 的互相转换

在 C++ 中,字符串(string)和整数(int)的区别

C++ 区分 字符串stringchar[])和 整数int),它们的存储方式和操作方式不同。


1. charintstring 的区别

类型存储内容例子
char单个字符(使用 ASCII 存储)'A', '5'
int整数数值(二进制存储)5, 100
string多个字符组成的字符串"Hello", "123"

2. char vs string vs int

代码变量类型存储内容表示方式
char ch = '5';char53(ASCII)字符 '5'
int num = 5;int00000101(二进制)整数 5
string str = "5";string['5', '\0']字符串 "5"

示例代码

#include <iostream>
using namespace std;

int main() {
    char ch = '5';      // 存储字符 '5',ASCII 码是 53
    int num = 5;        // 存储整数 5
    string str = "5";   // 存储字符串 "5"

    cout << "char: " << ch << endl;        // 输出: 5
    cout << "char ASCII: " << int(ch) << endl; // 输出: 53
    cout << "int: " << num << endl;        // 输出: 5
    cout << "string: " << str << endl;     // 输出: 5

    return 0;
}

运行结果

char: 5
char ASCII: 53
int: 5
string: 5

3. char + intstring + int 的区别

(1)char + int

char ch = '0';  // '0' 的 ASCII 值是 48
int num = 5;
char result = ch + num;
cout << result << endl;  // 输出 '5'
  • '0' 的 ASCII 值是 48
  • ch + num 等于 48 + 5 = 53
  • char(53)'5',所以 result 变成 '5'

(2)string + int

string str = "Hello";
int num = 5;
string result = str + to_string(num);
cout << result << endl;  // 输出 "Hello5"
  • to_string(num)int 转成 "5"
  • 字符串拼接 "Hello" + "5" 变成 "Hello5"

4. 什么时候用字符串,什么时候用整数?

用整数(int)的情况

  • 需要进行数学计算(加减乘除、比较大小)。
  • 需要高效存储和处理大数据
  • 示例
    int a = 5, b = 10;
    int sum = a + b;  // 进行数值运算
    

用字符(char)的情况

  • 只表示单个字符(如 'A''9')。
  • 需要用ASCII 码进行计算(如 char('A' + 1) == 'B')。
  • 示例
    char grade = 'A';
    char nextGrade = grade + 1; // 'B'
    

用字符串(string)的情况

  • 需要存储多个字符(如 "Hello""123")。
  • 需要进行字符串拼接(如 "Hello" + " World")。
  • 示例
    string name = "Alice";
    string message = name + " says hello!";
    

5. charint 之间的转换

(1)charint

char ch = '9';
int num = ch - '0'; // '9' (ASCII 57) - '0' (ASCII 48) = 9
cout << num << endl;  // 输出 9

解释

  • '9' 的 ASCII 值是 57
  • '0' 的 ASCII 值是 48
  • '9' - '0' = 57 - 48 = 9

(2)intchar

int num = 7;
char ch = num + '0'; // 7 + 48 = 55,对应字符 '7'
cout << ch << endl;  // 输出 '7'

6. stringint 之间的转换

(1)stringint

#include <iostream>
using namespace std;
int main() {
    string str = "123";
    int num = stoi(str);  // 把 "123" 变成整数 123
    cout << num + 1 << endl;  // 输出 124
}

(2)intstring

#include <iostream>
using namespace std;
int main() {
    int num = 123;
    string str = to_string(num);  // 把 123 变成 "123"
    cout << str + "456" << endl;  // 输出 "123456"
}

7. 总结

操作intcharstring
数学运算
存储单个字符
存储多个字符
字符串拼接
ASCII 码计算
转换 0-9

关键点

  1. 整数(int 用于数学计算,不能直接和字符串拼接。
  2. 字符(char 用于存储单个字符,也可以用 ASCII 码进行计算。
  3. 字符串(string 用于存储多个字符,可以进行拼接。

🔥 最后一句话总结

int 适用于数值计算,char 适用于单个字符,string 适用于文本存储和拼接! 🚀

相关文章:

  • 国产化替换案例:CACTER邮件网关为Groupwise系统加固邮件安全防线
  • Shell 编程中 `$?` 的陷阱:基于一个性别判断的例子
  • c++全排列
  • 97k倍区间
  • Windows编译环境搭建(MSYS2\MinGW\cmake)
  • Kubermetes 部署mysql pod
  • osg官方例子
  • 【大模型理论篇】--Mixture of Experts架构
  • 【操作系统】进程、线程、作业
  • 《DataWorks 深度洞察:量子机器学习重塑深度学习架构,决胜复杂数据战场》
  • BUUCTF逆向刷题笔记(1-12)
  • Scala的模式匹配
  • upload-labs靶场 1-21通关
  • 记录一次miniconda+openwebui迁移
  • Redis系列之慢查询分析与调优
  • api测试工具(postman、apifox、apipost)
  • 题目 3220 ⭐因数计数⭐【数理基础】蓝桥杯2024年第十五届省赛
  • 一个前端vue3文字hover效果
  • IO多路复用
  • 模型 - QwQ-32B
  • 精美企业网站/重庆百度seo整站优化
  • 网站建设过时了吗/商业软文案例
  • 个人网站设计图/百度搜索量统计
  • 杭州设计企业网站高端公司/兰州搜索引擎优化
  • 云南网站开发建设/百度登录入口