温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C或C++字符串与数字之间的转换方式

发布时间:2021-08-19 21:09:37 来源:亿速云 阅读:159 作者:chen 栏目:编程语言

这篇文章主要介绍“C或C++字符串与数字之间的转换方式”,在日常操作中,相信很多人在C或C++字符串与数字之间的转换方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C或C++字符串与数字之间的转换方式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

主要有两种方式:C 中能够使用 sprintf 将数字转为字符数组,sscanf 将字符数组转为数字;而在 C++ 中不仅能够使用 C 中的方法,还能够使用 stringstream 实现字符串与数字间的转换。 

下面的函数转为字符串是char类型
最好用:stringstream

int n = 123456;
char p[100] = {};
stringstream s;
s << n;
s >> p;

其次:springf、sscanf
数字转字符串
sprintf(str, “%d”, num);
字符串转数字
sscanf(str, “%d”, &rsl);
再其次:itoa、atoi
(1)数字转字符
itoa()函数有3个参数:数字、写入转换结果的目标字符串、进制
itoa(num, string, 10); // 按10进制转换
(2)字符转数字
char str[4] = {‘1’, ‘2’, ‘3’, ‘4’};
int num = atoi(str);

代码示例

整数转字符串 

#include <iostream>
using namespace std;
int main() {
   // 整数转字符串
   int num = 1234;
   char temp[7], str[7];
   int i = 0, j = 0;
   while(num) {
       // 整数转字符串: +'0'
       temp[i++] = num % 10 + '0';
       num = num / 10;
   }
   // 刚转化的字符串是逆序的
   while(i >= 0) {
       str[j++] = temp[--i];
   }
   cout << str << endl;
   return 0;
}

字符串转整数 

#include <iostream>
using namespace std;
int main() {
   char str[5] = {'1', '2', '3', '4', '\0'};
   int num = 0;
   int i = 0;
   while(str[i]) {
       num = num * 10 + (str[i++] - '0');  
   }
   cout << num << endl;
   return 0;
}

到此,关于“C或C++字符串与数字之间的转换方式”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI