C/C++实现string和int相互转换的常用方法总结
作者:keda_1822
在C++编程中,经常需要在字符串(string)和整型(int)之间进行转换,本文将详细介绍几种在C和C++中实现这两种类型转换的常用方法,有需要的可以参考下
在C++编程中,经常需要在字符串(string)和整型(int)之间进行转换。本文将详细介绍几种在C和C++中实现这两种类型转换的常用方法。值得注意的是,虽然C++提供了更现代的方法,但了解C语言中的方法仍然有助于更好地理解底层实现和跨语言编程。
C++中的转换方法
1. std::stoi 和 std::to_string
C++11标准引入了一些方便的函数来处理这些转换。
String to Int: 使用std::stoi函数可以将string转换为int。
Int to String: 使用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; }
2. 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标准库中没有像C++那样的直接转换函数。
1. sprintf 和 atoi
Int to String: 使用sprintf函数,它是C标准库中的一部分。
String to Int: 使用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函数来实现类似的功能。虽然这些方法在语法上更为繁琐,但它们为字符串和整数之间的转换提供了基本的解决方案。
到此这篇关于C/C++实现string和int相互转换的常用方法总结的文章就介绍到这了,更多相关C++ string和int互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!