您的位置:首页 > 编程语言 > C语言/C++

C++ 整数与字符串相互转化

2017-07-21 19:17 302 查看

一. 整数转化为字符串

方法1:用itoa(实战时常用)

#include <iostream>
#include <stdlib.h>

using namespace std;

int main() {

// 整数转字符串
int num = 6;
char string[7];

// itoa()函数有3个参数:源字符串、目标字符串、进制
itoa(num, string, 10); // 按10进制转换
cout << string << endl;

itoa(num, string, 2); // 按2进制转换
cout << string << endl;

return 0;
}


方法2:不用itoa,我自己写(面试时常考)

#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;
}


二. 字符串转化为整数

方法1:用atoi(实战时常用)

#include <iostream>
#include <stdlib.h>

using namespace std;

int main() {

char str[4] = {'1', '2', '3', '4'};
int num = atoi(str);
cout << num << endl;
return 0;
}


注:char str[4] = {‘1’, ‘2’, ‘3’, ‘4’}; 也可以写成 char str[5] = {‘1’, ‘2’, ‘3’, ‘4’, ‘\0’};

方法2:不用atoi,我自己写(面试时常考)

#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;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: