当前位置:   article > 正文

C/C++中string和int相互转换的常用方法_c++ string to int

c++ string to int

在C++编程中,经常需要在字符串string)和整型(int)之间进行转换。本文将详细介绍几种在C和C++中实现这两种类型转换的常用方法。值得注意的是,虽然C++提供了更现代的方法,但了解C语言中的方法仍然有助于更好地理解底层实现和跨语言编程。

C++中的转换方法

1. std::stoistd::to_string

C++11标准引入了一些方便的函数来处理这些转换。

  • String to Int: 使用std::stoi函数可以将string转换为int
  • Int to String: 使用std::to_string函数可以将int转换为string
示例代码:
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main() {
  5. // String to Int
  6. string str = "12345";
  7. int num = stoi(str);
  8. cout << "String to Int: " << num << endl;
  9. // Int to String
  10. int num2 = 67890;
  11. string str2 = to_string(num2);
  12. cout << "Int to String: " << str2 << endl;
  13. return 0;
  14. }
 

2. stringstream

stringstream是C++中处理字符串的另一种强大工具,它可以实现复杂的字符串和其他数据类型之间的转换。

示例代码
  1. #include <iostream>
  2. #include <sstream>
  3. #include <string>
  4. using namespace std;
  5. int main() {
  6. // String to Int
  7. string str = "12345";
  8. stringstream ss(str);
  9. int num;
  10. ss >> num;
  11. cout << "String to Int: " << num << endl;
  12. // Int to String
  13. int num2 = 67890;
  14. stringstream ss2;
  15. ss2 << num2;
  16. string str2 = ss2.str();
  17. cout << "Int to String: " << str2 << endl;
  18. return 0;
  19. }

C中的转换方法

在C语言中,处理字符串和整数之间的转换需要更多的工作,因为C标准库中没有像C++那样的直接转换函数。

1. sprintfatoi

  • Int to String: 使用sprintf函数,它是C标准库中的一部分。
  • String to Int: 使用atoi函数将字符串转换为整数。

示例代码

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4. // String to Int
  5. char str[] = "12345";
  6. int num = atoi(str);
  7. printf("String to Int: %d\n", num);
  8. // Int to String
  9. int num2 = 67890;
  10. char str2[20];
  11. sprintf(str2, "%d", num2);
  12. printf("Int to String: %s\n", str2);
  13. return 0;
  14. }

结论

在C++中,std::stoistd::to_string提供了一种简单而现代的方式来实现字符串和整数之间的转换。对于需要更多灵活性的场景,stringstream是一个很好的选择。而在C语言中,我们通常依赖于sprintfatoi函数来实现类似的功能。虽然这些方法在语法上更为繁琐,但它们为字符串和整数之间的转换提供了基本的解决方案。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/835031
推荐阅读
相关标签
  

闽ICP备14008679号