码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++中字符串和数字互转小结

时间:2018-04-20 16:53:14      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:ref   class   可见   blog   html   功能   wan   c/c++   string   

一. 数字 转 char*型

1.sprintf函数(适合C和C++)

示例:

   char str[50];
   int num = 345;
   sprintf(str,"%d",num);

sprintf()函数的功能非常强大,此处只是将int型数字转换成字符串,更多的介绍可见:https://blog.csdn.net/sjf331/article/details/339254 

二.数字 转 string型

1.利用stringstream(只适合于C++)

示例:

   string str;
   int num = 345;
   stringstream ss; //记住要包含头文件#include<sstream>
   ss << num;
   str = ss.str();

2.利用to_string(只适用于C++,且必须C++11以及以上)

示例:

   string str;
   int num = 345;
   str = to_string(num);

三.char* 转 数字

1.atoi以及相关的函数(适合C和C++)

示例:

   char str[] = "345";
   int num;
   num = atoi(str);

相关的函数包括:C标准库还提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long long 型。

2.sscanf函数

示例:

   char str[] = "345";
   int num;
   sscanf(str,"%d",&num);

sscanf函数的功能用样也很强大,具体用法此处不详述。

四.string 转 数字

1.stoi函数(只适用于C++)

示例:

   string str = "345";
   int num;
   num = stoi(str);

stoi函数与atoi函数的区别,见:http://www.cnblogs.com/wangkundentisy/p/8511119.html 最底部分。

2.利用stringstream(只适用于C++)

示例:

   string str = "345";
   int num;
   stringstream ss;
   ss << str;
   ss >> num;

利用stringstream既可以将string转换成数字,同时也可以将数字转换成string。

需要注意的一点是:一定要搞清楚字符串是char *类型还是string类型。

C/C++中字符串和数字互转小结

标签:ref   class   可见   blog   html   功能   wan   c/c++   string   

原文地址:https://www.cnblogs.com/wangkundentisy/p/8891758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!