赞
踩
在C++编程中,经常需要在字符串(string
)和整型(int
)之间进行转换。本文将详细介绍几种在C和C++中实现这两种类型转换的常用方法。值得注意的是,虽然C++提供了更现代的方法,但了解C语言中的方法仍然有助于更好地理解底层实现和跨语言编程。
std::stoi
和 std::to_string
C++11标准引入了一些方便的函数来处理这些转换。
std::stoi
函数可以将string
转换为int
。std::to_string
函数可以将int
转换为string
。- #include <iostream>
- #include <string>
-
- using namespace std;
-
- int main() {
- // String to Int
- string str = "12345";
- int num = stoi(str);
- cout << "String to Int: " << num << endl;
-
- // Int to String
- int num2 = 67890;
- string str2 = to_string(num2);
- cout << "Int to String: " << str2 << endl;
-
- return 0;
- }

stringstream
stringstream
是C++中处理字符串的另一种强大工具,它可以实现复杂的字符串和其他数据类型之间的转换。
- #include <iostream>
- #include <sstream>
- #include <string>
-
- using namespace std;
-
- int main() {
- // String to Int
- string str = "12345";
- stringstream ss(str);
- int num;
- ss >> num;
- cout << "String to Int: " << num << endl;
-
- // Int to String
- int num2 = 67890;
- stringstream ss2;
- ss2 << num2;
- string str2 = ss2.str();
- cout << "Int to String: " << str2 << endl;
-
- return 0;
- }

在C语言中,处理字符串和整数之间的转换需要更多的工作,因为C标准库中没有像C++那样的直接转换函数。
sprintf
和 atoi
sprintf
函数,它是C标准库中的一部分。atoi
函数将字符串转换为整数。示例代码
- #include <stdio.h>
- #include <stdlib.h>
-
- int main() {
- // String to Int
- char str[] = "12345";
- int num = atoi(str);
- printf("String to Int: %d\n", num);
-
- // Int to String
- int num2 = 67890;
- char str2[20];
- sprintf(str2, "%d", num2);
- printf("Int to String: %s\n", str2);
-
- return 0;
- }

在C++中,std::stoi
和std::to_string
提供了一种简单而现代的方式来实现字符串和整数之间的转换。对于需要更多灵活性的场景,stringstream
是一个很好的选择。而在C语言中,我们通常依赖于sprintf
和atoi
函数来实现类似的功能。虽然这些方法在语法上更为繁琐,但它们为字符串和整数之间的转换提供了基本的解决方案。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。